Python DataFrame 存储至Excel 的完整方法总结
在Python中,使用pandas库可以非常方便地处理数据,包括将DataFrame存入Excel文件。以下是一些常见的方法来实现这一功能:
1. 使用pandas的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)
优点:代码简单好记
2. 使用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:
,会导致工作簿被覆盖
3. 使用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) # 设置列宽
优点:可以指定保存时的一些格式,如列宽、行高、字体等,以及可以指定保存的工作簿的名字。
4. 保存为Excel宏
如果你需要保存包含宏的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文件的一些常见方法。可以按照我们写代码的需求,选择最适合的方法。
作者:??? Meggie