[英]How to Save or export multiple dataframes in excel in different tabs?
我需要在不同选项卡中的 excel 中导出或保存 pandas 多个 Dataframe 吗? 假设我的df是:
df1:
Id Name Rank
1 Scott 4
2 Jennie 8
3 Murphy 1
df2:
Id Name Rank
1 John 14
2 Brown 18
3 Claire 11
df3:
Id Name Rank
1 Shenzen 84
2 Dass 58
3 Ghouse 31
df4:
Id Name Rank
1 Zen 104
2 Ben 458
3 Susuie 198
这是我的四个数据框,我需要导出为带有 4 个选项卡的 Excel,即 df1、df2、df3、df4。
一个简单的方法是将您的项目保存在一个集合中并使用pd.ExcelWriter
Class
让我们使用字典。
#1 使用您的选项卡名称和 dataframe 创建一个字典。
dfs = {'df1' : df1, 'df2' : df2...}
#2 创建一个 excel 写入器 object。
writer = pd.ExcelWriter('excel_file_name.xlsx')
#3 遍历你的字典并保存你的 excel 文件。
for name,dataframe in dfs.items():
dataframe.to_excel(writer,name,index=False)
writer.save()
添加路径。
from pathlib import Path
trg_path = Path('your_target_path')
writer = pd.ExcelWriter(trg_path.joinpath('excel_file.xlsx'))
使用 xlsxwriter,您可以执行以下操作:
import xlsxwriter
import pandas as pd
### Create df's here ###
writer = pd.ExcelWriter('C:/yourFilePath/example.xslx', engine='xlsxwriter')
workbook = writer.book
### First df tab
worksheet1 = workbook.add_worksheet({}.format('df1') # The value in the parentheses is the tab name, so you can make that dynamic or hard code it
row = 0
col = 0
for Name, Rank in (df1):
worksheet.write(row, col, Name)
worksheet.write(row, col + 1, Rank)
row += 1
### Second df tab
worksheet2 = workbook.add_worksheet({}.format('df2')
row = 0
col = 0
for Name, Rank in (df2):
worksheet.write(row, col, Name)
worksheet.write(row, col + 1, Rank)
row += 1
### as so on for as many tabs as you want to create
workbook.close()
xlsxwriter 还允许您进行大量格式化。 如果您想这样做,请查看文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.