赞
踩
在Python中,使用pandas库可以非常方便地处理数据,包括将DataFrame存入Excel文件。以下是一些常见的方法来实现这一功能:
to_excel
方法这是最直接的方法,可以使用to_excel
函数将DataFrame保存为Excel文件。
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({
'Column1': [1, 2, 3],
'Column2': ['A', 'B', 'C']
})
# 将DataFrame存入Excel文件
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
优点:代码简单好记
ExcelWriter
和to_excel
ExcelWriter
是一个上下文管理器,允许我们使用类似文件的接口保存多个DataFrame到不同的Excel工作表,以下的方法可以将不同的表格存入到不同的工作簿中。
# 创建一个示例DataFrame
df1 = pd.DataFrame({
'Column1': [1, 2, 3],
'Column2': ['A', 'B', 'C']
})
df2 = pd.DataFrame({
'Column1': [4, 5, 6],
'Column2': ['D', 'E', 'F']
})
# 使用ExcelWriter保存多个DataFrame到不同的工作表
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1', index=False)
df2.to_excel(writer, sheet_name='Sheet2', index=False)
注意:如果没有with pd.ExcelWriter('output.xlsx') as writer:
,会导致工作簿被覆盖
openpyxl
引擎openpyxl
是一个Python库,用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件。pandas可以使用openpyxl
作为引擎来写入Excel文件。
# 需要先安装openpyxl库
# pip install openpyxl
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
writer.sheets['Sheet1'].set_column('A:A', 20) # 设置列宽
优点:可以指定保存时的一些格式,如列宽、行高、字体等,以及可以指定保存的工作簿的名字。
如果你需要保存包含宏的Excel文件,可以使用openpyxl
库。
from openpyxl import Workbook from openpyxl.worksheet.table import Table, TableStyleInfo # 创建一个Workbook对象 wb = Workbook() ws = wb.active # 将DataFrame数据写入工作表 for index, row in df.iterrows(): ws.append(row) # 添加宏 from openpyxl.worksheet.table import Table, TableStyleInfo table = Table(displayName="Data", ref="=Sheet1!A1:C4") table.tableStyleInfo = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False, showLastColumn=False) ws.add_table(table) # 保存为Excel文件 wb.save('output_with_macros.xlsx')
to_excel
方法时,默认情况下会保存为.xls
格式,如果你需要保存为.xlsx
格式,确保文件名以.xlsx
结尾。openpyxl
引擎,因为它支持更大的数据集和更多的Excel特性。pandas
和openpyxl
。以上就是使用pandas将DataFrame存入Excel文件的一些常见方法。可以按照我们写代码的需求,选择最适合的方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。