簡體   English   中英

使用 df.to_excel 將 pandas dataframe 子集保存到 xlsx

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM