在Python的Pandas库中,读取和写入Excel文件主要使用read_excel和to_excel函数。以下是详细用法和示例:
1. 读取Excel文件:pd.read_excel()
import pandas as pd
# 读取Excel文件
df = pd.read_excel('文件路径.xlsx', sheet_name='Sheet1', header=0, usecols='A:C', skiprows=1)
参数说明:
-
io:- 含义: Excel文件的路径或文件对象。
- 类型: str 或 ExcelFile对象。
- 示例:
'data.xlsx'或pd.ExcelFile('data.xlsx').
-
sheet_name:- 含义: 要读取的工作表名称或索引。
- 类型: str, int, list, 或 None。
- 可选值: 默认0(第一个工作表),可以是工作表名称(如
'Sheet1')或工作表索引(如0)。 - 示例:
'Sheet1'或1.
-
header:- 含义: 用作列名的行索引。
- 类型: int, list of int 或 None。
- 可选值: 默认0;可以是指定的行数,或将其设为None表示没有列名。
- 示例:
0或[0, 1]。
-
names:- 含义: 自定义列名。
- 类型: list。
- 可选值: 任何列名的列表。
- 示例:
['Name', 'Age', 'Salary']。
-
index_col:- 含义: 指定作为行索引的列。
- 类型: int, str, 或 list of int/str。
- 可选值: 可以是列的名称或索引。
- 示例:
0或'ID'。
-
usecols:- 含义: 要读取的列。
- 类型: str, list of str, 或 callable。
- 可选值: 可以指定列的范围(如
'A:C')或列名称。 - 示例:
'A:C'或['A', 'B']。
-
skiprows:- 含义: 跳过的行数或行号。
- 类型: int, list of int。
- 可选值: 默认0;可以是要跳过的行数或行号列表。
- 示例:
1或[0, 2, 3]。
-
nrows:- 含义: 读取的行数。
- 类型: int。
- 可选值: 读取前N行。
- 示例:
10(读取前10行)。
-
na_filter:- 含义: 是否过滤NA值。
- 类型: bool。
- 可选值: 默认True;可以设置为False以保留NA。
- 示例:
False。
-
parse_dates:- 含义: 指定哪些列应解析为日期。
- 类型: bool, str, list of str, 或 dict。
- 可选值: 默认False。
- 示例:
['Date']。
-
date_parser:- 含义: 用于解析日期的函数。
- 类型: function。
- 可选值: 可以是自定义的日期解析函数。
- 示例:
lambda x: pd.to_datetime(x)。
-
comment:- 含义: 忽略以此字符开头的行。
- 类型: str。
- 可选值: 默认None。
- 示例:
'#'。
pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None,
squeeze=False, dtype=None, engine=None, converters=None,
true_values=None, false_values=None, skiprows=None,
nrows=None, na_filter=True, verbose=False,
parse_dates=False, date_parser=None,
thousands=None, comment=None, skipfooter=0,
convert_float=True, mangle_dupe_cols=True,
storage_options=None)
2. 写入Excel文件:DataFrame.to_excel()
# 将DataFrame写入Excel文件
df.to_excel('输出文件路径.xlsx', sheet_name='Sheet1', index=False, header=True)
参数说明:
-
excel_writer:- 含义: 输出文件的路径或ExcelWriter对象。
- 类型: str 或 ExcelWriter对象。
- 示例:
'output.xlsx'。
-
sheet_name:- 含义: 要写入的工作表名称。
- 类型: str。
- 可选值: 默认’Sheet1’。
- 示例:
'Sales_Data'。
-
na_rep:- 含义: 替换缺失值的字符串。
- 类型: str。
- 可选值: 默认为空字符串。
- 示例:
'NA'。
-
float_format:- 含义: 浮点数格式。
- 类型: str。
- 可选值: 例如
'%.2f'。 - 示例:
'%.2f'。
-
header:- 含义: 是否写入列名。
- 类型: bool 或 list。
- 可选值: 默认True。
- 示例:
True或['Column1', 'Column2']。
-
index:- 含义: 是否写入行索引。
- 类型: bool。
- 可选值: 默认True。
- 示例:
False。
-
index_label:- 含义: 行索引的列名。
- 类型: str 或 list。
- 可选值: 默认None。
- 示例:
'Index'。
-
startrow:- 含义: 开始写入的行数。
- 类型: int。
- 可选值: 默认0。
- 示例:
1(从第二行开始)。
-
startcol:- 含义: 开始写入的列数。
- 类型: int。
- 可选值: 默认0。
- 示例:
1(从第二列开始)。
-
merge_cells:- 含义: 是否合并单元格。
- 类型: bool。
- 可选值: 默认True。
- 示例:
False。
-
encoding:- 含义: 文件编码。
- 类型: str。
- 可选值: 默认为None。
- 示例:
'utf-8'。
-
date_format:- 含义: 日期格式。
- 类型: str。
- 可选值: 例如
'YYYY-MM-DD'。 - 示例:
'YYYY-MM-DD'。
DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None,
header=True, index=True, index_label=None, startrow=0,
startcol=0, engine=None, merge_cells=True,
encoding=None, inf_rep='inf',
date_format=None, dual_column=False,
store_mode=None, **kwargs)
简单示例
读取示例
df = pd.read_excel('data.xlsx', sheet_name='Sales', usecols='A:D', skiprows=1)
写入示例
df.to_excel('sales_output.xlsx', sheet_name='Sales_Summary', index=False)
6178

被折叠的 条评论
为什么被折叠?



