[英]Saving pandas dataframe subsets to xlsx using df.to_excel
我有一個 csv,我想將其分解為單獨的 excel 文件。 當我嘗試以下操作時,它正在創建單個文件但不進行過濾。 我對 python 還是陌生的,我猜我在 for 循環中缺少一條分割 dataframe 的行。 謝謝您的幫助!
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.')
當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.')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.