Python数据分析:pandas玩转Excel(三)
将对象写入Excel工作表。
要将单个对象写入 Excel .xlsx 文件,只需指定目标文件名即可。要写入多个工作表,必须创建具有目标文件名的ExcelWriter对象,并在文件中指定要写入的工作表。
可以通过指定唯一sheet_name写入多个工作表。将所有数据写入文件后,必须保存更改。请注意,创建具有已存在的文件名的ExcelWriter对象将导致删除现有文件的内容。
1 df.to_excel( )的参数
写入Excel文件
df.to_excel(self,
excel_writer, # 输出路径
sheet_name='Sheet1', # 命名excel工作表名
na_rep='', # 缺失值填充 ,可以设置为字符串
float_format=None,
columns=None, # 选择输出的列存入。
header=True, # 指定作为列名的行,默认0,即取第一行
index=True, # 默认为True,显示index,当index=False 则不显示行索引(名字)
index_label=None, # 设置索引列的列名
startrow=0,
startcol=0,
engine=None,
merge_cells=True,
encoding=None,
inf_rep='inf',
verbose=True,
freeze_panes=None)
参数 | 含义 |
---|---|
excel_writer | ExcelWriter目标路径 |
sheet_name | 命名excel工作表名 |
na_rep | 缺失值填充 ,可以设置为字符串; 如果na_rep设置为bool值,则写入excel时改为0和1;也可以写入字符串或数字 |
columns | 选择输出的的列存入。 |
header | 指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None; |
index | 默认为True,显示index,当index=False 则不显示行索引(名字) |
index_label | 设置索引列的列名 |
2 Parameters参数
1.excel_writer:str or ExcelWriter object
文件路径或现有的ExcelWriter。
2.sheet_name:str, default ‘Sheet1’
包含DataFrame的工作表名称。
3.na_rep:str, default ‘’
- 缺少数据表示。
- 如果na_rep设置为bool值,则写入excel时改为0和1;也可以写入字符串或数字
4.float_format:str, optional
浮点数的格式字符串。例如 float_format="%.2f"
将格式0.1234设置为0.12。
5.columns:sequence or list of str, optional
要写入的列。
6.header:bool or list of str, default True
写出列名称。如果给定字符串列表,则假定该字符串为列名称的别名。
7.index:bool, default True
写入行名(索引)。
8.index_label:str or sequence, optional
索引列的列标签(如果需要)。如果未指定,并且 标头和索引为True,则使用索引名称。如果DataFrame使用MultiIndex,则应给出一个序列。
9.startrow:int, default 0
左上角的单元格行来转储数据帧。
10.startcol:int, default 0
左上角的单元格列以转储数据帧。
11.engine:str, optional
编写要使用的引擎,“ openpyxl”或“ xlsxwriter”。您也可以通过选项设置此io.excel.xlsx.writer
,io.excel.xls.writer
和 io.excel.xlsm.writer
。
12.merge_cells:bool, default True
将MultiIndex和Hierarchical Rows写入合并的单元格
13.encoding:str, optional
生成的excel文件的编码。只有xlwt才需要,其他作者本机支持unicode。
14.inf_rep:str, default ‘inf’
表示无穷大(Excel中没有本机表示无穷大)。
15.verbose:bool, default True
在错误日志中显示更多信息。
16.freeze_panes:tuple of int (length 2), optional
指定要冻结的从一开始的最底行和最右列。
笔记
为了与兼容to_csv()
, to_excel在写入之前将列表和字典序列化为字符串。
保存工作簿后,如果不重写整个工作簿就无法写入更多数据。
3 例子
创建,写入和保存工作簿:
>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
... index=['row 1', 'row 2'],
... columns=['col 1', 'col 2'])
>>> df1.to_excel("output.xlsx")
要指定工作表名称:
>>> df1.to_excel("output.xlsx",
... sheet_name='Sheet_name_1')
如果您希望在工作簿中写多个工作表,则必须指定一个ExcelWriter对象:
>>> df2 = df1.copy()
>>> with pd.ExcelWriter('output.xlsx') as writer:
... df1.to_excel(writer, sheet_name='Sheet_name_1')
... df2.to_excel(writer, sheet_name='Sheet_name_2')
ExcelWriter也可以用于附加到现有的Excel文件:
>>> with pd.ExcelWriter('output.xlsx',
... mode='a') as writer:
... df.to_excel(writer, sheet_name='Sheet_name_3')
要设置用于写入Excel文件的库,您可以传递engine关键字(根据文件扩展名自动选择默认引擎):
>>> df1.to_excel('output1.xlsx', engine='xlsxwriter')
欢迎关注公众号【喵哥解说】,有1000G关于Python资料等你领取,感谢阅读。