如何在excel的不同选项卡中保存或导出多个数据框?

2024-05-08 09:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在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

df4:
Id  Name    Rank
1   Zen     104
2   Ben     458
3   Susuie  198

这是我的四个数据框,我需要导出为带有4个选项卡的Excel,即df1、df2、df3、df4


Tags: 数据nameiddfjohnexcelscott选项卡
2条回答

使用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还允许您进行大量格式化。如果你想这么做check out the docs

一个简单的方法是将项目保存在集合中并使用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'))

相关问题 更多 >