gpt4 book ai didi

python - 用于分隔 Excel 工作表的多个数据框列表

转载 作者:行者123 更新时间:2023-11-28 22:15:30 25 4
gpt4 key购买 nike

我有一个可变长度的数据帧列表,我想将每个数据帧列表转换为每个 Excel 工作表。

这是我的代码:

for i in range(1, len(dfs)):
frames = {'sheetName_i' : dfs[i]}
for sheet, df in frames.items():
dfs[i].to_excel(writer, index=False)
#df is the whole dataframe whereas dfs is the list of df

我的输出中只得到了最后一个列表。有什么方法可以将所有列表转换为单独的 Excel 工作表吗?

我已使用您的建议如下:

for i, df in enumerate(dfs, 1):
for n in group: #containe the names that I want to name the sheets amd the names equal to the number of sheets.
df.to_excel(writer, index=False, sheet_name=n.format(i))

工作表名称已更改为我需要的名称。虽然每张纸的数据相似,但有些数据内容被遗漏,有些数据被合并在单张纸中,并且每张纸中重复相同的数据。有什么方法可以获得正确的输出。

很高兴听到一些建议。预先非常感谢您。

最佳答案

我认为你需要:

writer = pd.ExcelWriter('output.xlsx')
for i, df in enumerate(dfs, 1):
#python 3.6+
df.to_excel(writer, index=False,sheet_name=f'sheetName_{i}')
#below python 3.6
#df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(i))
writer.save()

示例:

df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')
})

#sample list of DataFrames
dfs = [df[['A','B']], df[['A','B','C']],df[['A','F']]]

writer = pd.ExcelWriter('output.xlsx')
for i, df in enumerate(dfs, 1):
#python 3.6+
df.to_excel(writer, index=False,sheet_name=f'sheetName_{i}')
#below python 3.6
#df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(i))
writer.save()

编辑:

如果需要编写工作表名称的自定义名称:

writer = pd.ExcelWriter('output.xlsx')
names = ['a','d','b']
for df, n in zip(dfs, names):
#python 3.6+
df.to_excel(writer, index=False,sheet_name=f'sheetName_{n}')
#below python 3.6
#df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(n))
writer.save()

关于python - 用于分隔 Excel 工作表的多个数据框列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52849830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com