Python 使用df.to_excel将pandas数据帧子集保存到xlsx
我有一个csv,我想分解成单独的excel文件。当我尝试下面的方法时,它会创建单个文件,但不会进行过滤。我还是python新手,我猜我在for循环中缺少了一行数据帧切片。谢谢你的帮助Python 使用df.to_excel将pandas数据帧子集保存到xlsx,python,pandas,dataframe,for-loop,xlsxwriter,Python,Pandas,Dataframe,For Loop,Xlsxwriter,我有一个csv,我想分解成单独的excel文件。当我尝试下面的方法时,它会创建单个文件,但不会进行过滤。我还是python新手,我猜我在for循环中缺少了一行数据帧切片。谢谢你的帮助 将熊猫作为pd导入 #拉入csv data=pd.read\u csv('test.csv',encoding='UTF-8') df=pd.DataFrame(数据) df.fillna(“,inplace=True) #按经销商分组 dfs=dict(元组(df.groupby('Dealer')) #对于按经
将熊猫作为pd导入
#拉入csv
data=pd.read\u csv('test.csv',encoding='UTF-8')
df=pd.DataFrame(数据)
df.fillna(“,inplace=True)
#按经销商分组
dfs=dict(元组(df.groupby('Dealer'))
#对于按经销商分组的回路
对于dfs中的名称:
writer=pd.ExcelWriter(str(name)+'.xlsx',engine='xlsxwriter')
df.to_excel(writer,index=False,header=True,sheet\u name='Sheet1')
writer.save()
打印(名称+“已创建文件”。)
当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.')