使用df.to_excel将熊猫数据框子集保存到xlsx

问题描述 投票:1回答:1

我有一个要分解成单个Excel文件的csv。当我尝试以下操作时,它正在创建单个文件,但未过滤。我对python还是很陌生,我猜我在for循环中缺少对数据帧进行切片的一行。感谢您的帮助!

import pandas as pd

# pull in csv
data = pd.read_csv('test.csv',encoding='UTF-8')   
df = pd.DataFrame(data)
df.fillna("", inplace = True)

# group by dealer
dfs = dict(tuple(df.groupby('Dealer')))

# for loop grouped by dealer
for name in dfs:
    writer = pd.ExcelWriter(str(name)+'.xlsx', engine='xlsxwriter')
    df.to_excel(writer, index= False, header= True, sheet_name= 'Sheet1')
    writer.save()
    print(name + ' file created.')
python pandas dataframe for-loop xlsxwriter
1个回答
2
投票

[dfs是字典时,您需要使用.items()对其进行迭代。如果您在执行操作时对其进行迭代,则只会返回字典的键。

您怀疑您当前不在for循环中创建任何新df。

改为尝试:

# for loop grouped by dealer
for name,df in dfs.items():
    writer = pd.ExcelWriter(str(name)+'.xlsx', engine='xlsxwriter')
    df.to_excel(writer, index=False, header=True, sheet_name='Sheet1')
    writer.save()
    print(name + ' file created.')
© www.soinside.com 2019 - 2024. All rights reserved.