python to_excel函数_python pandas DataFrame.to_excel用法及代码示例

刘辰钊
2023-12-01

将对象写入Excel工作表。

要将单个对象写入Excel .xlsx文件,仅需要指定目标文件名。要写入多张纸,必须创建一个ExcelWriter对象和目标文件名,并在文件中指定要写入的工作表。

通过指定唯一可以写入多张纸sheet_name。将所有数据写入文件后,必须保存更改。请注意,创建一个ExcelWriter文件名已存在的对象将导致现有文件的内容被删除。

参数:

excel_writer:str 或 ExcelWriter object文件路径或现有的ExcelWriter。

sheet_name:str, 默认为 ‘Sheet1’包含DataFrame的工作表名称。

na_rep:str, 默认为 ‘’缺少数据表示。

float_format:str, 可选参数浮点数的格式字符串。例如float_format="%.2f"将格式设置为0.1234到0.12。

columns:sequence 或 list of str, 可选参数要写的列。

header:bool 或 list of str, 默认为 True写出列名。如果给出了字符串列表,则假定它是列名的别名。

index:bool, 默认为 True写行名(索引)。

index_label:str 或 sequence, 可选参数索引列的列标签(如果需要)。如果未指定,并且header和index如果为True,则使用索引名称。如果DataFrame使用MultiIndex,则应给出一个序列。

startrow:int, 默认为 0左上角的单元格行转储数据帧。

startcol:int, 默认为 0左上角的单元格列以转储数据帧。

engine:str, 可选参数编写要使用的引擎‘openpyxl’或‘xlsxwriter’。您也可以通过选项进行设置io.excel.xlsx.writer,io.excel.xls.writer和io.excel.xlsm.writer。

merge_cells:bool, 默认为 True将MultiIndex和Hierarchical Rows合并为单元格。

encoding:str, 可选参数生成的excel文件的编码。只有xlwt才需要,其他作者本机支持unicode。

inf_rep:str, 默认为 ‘inf’表示无穷大(Excel中没有本机表示无穷大)。

verbose:bool, 默认为 True在错误日志中显示更多信息。

freeze_panes:tuple of int (length 2), 可选参数指定要冻结的从一开始的最底行和最右列。

注意:

为了与to_csv(),to_excel在写之前将列表和字典序列化为字符串。

保存工作簿后,如果不重写整个工作簿就无法写入更多数据。

例子:

创建,写入和保存工作簿:

>>> 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')

 类似资料: