Python 如何在excel的不同选项卡中保存或导出多个数据框?
我需要在excel中的不同选项卡中导出或保存多个数据框? 假设我的df为:Python 如何在excel的不同选项卡中保存或导出多个数据框?,python,python-3.x,pandas,python-2.7,Python,Python 3.x,Pandas,Python 2.7,我需要在excel中的不同选项卡中导出或保存多个数据框? 假设我的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 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
类
让我们用字典
#1使用选项卡名称和数据框创建字典
dfs = {'df1' : df1, 'df2' : df2...}
#2创建excel writer对象
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还允许您进行大量格式化。如果要执行此操作,请使用writer.save()命令将我的excel保存到何处,我需要在本地系统中的物理路径中保存,因此尝试了此writer.save(“mypath”),但没有将路径添加到字符串或使用
os.join
或pathlib.path.joinpath(目标路径,excel文件名)
我将发表我的帖子。假设我们有100个df,我们不能手动完成这个df={'df1':df1,'df2':df2…},有没有办法自动完成这一行。这不在@Mohekar问题的范围之内,你是如何生成你的数据帧的?那么你是如何得到100个不同的数据帧变量的@莫赫卡?