在数据帧上循环并保存到 excel 文件中
Loopings over dataframe and saving into excel file
我正在尝试遍历数据框并将每个过滤器保存到 Excel 文档中的不同选项卡上。出于某种原因,我只将最后一个循环保存到 excel 文件中。这是我的代码:
df = pd.DataFrame({'Number':[1,2,3,4,5],
'Name':['John','Paul','Darren','John','Darren']})
names = ['John','Paul','Darren']
for k,v in enumerate(names):
this_filter = df[df['Name'] == v]
writer = pd.ExcelWriter(r'C:\Users\Username\Desktop\somefilename.xlsx', engine = 'xlsxwriter')
this_filter.to_excel(writer,sheet_name = str(k),index = False)
writer.save()
感谢您的帮助!
您在每次迭代中创建不同的编写器对象,覆盖前一个。你只需要将它移出循环,最后关闭编写器,它应该可以正常工作:
df = pd.DataFrame({'Number':pd.Series([1,2,3,4,5]),'Name':pd.Series(['John','Paul','Darren','John','Darren'])})
names = ['John','Paul','Darren']
writer = pd.ExcelWriter(r'C:\Users\Username\Desktop\somefilename.xlsx', engine = 'xlsxwriter')
for k,v in enumerate(names):
this_filter = df[df['Name'] == v]
this_filter.to_excel(writer,sheet_name = str(k),index = False)
writer.close()
我正在尝试遍历数据框并将每个过滤器保存到 Excel 文档中的不同选项卡上。出于某种原因,我只将最后一个循环保存到 excel 文件中。这是我的代码:
df = pd.DataFrame({'Number':[1,2,3,4,5],
'Name':['John','Paul','Darren','John','Darren']})
names = ['John','Paul','Darren']
for k,v in enumerate(names):
this_filter = df[df['Name'] == v]
writer = pd.ExcelWriter(r'C:\Users\Username\Desktop\somefilename.xlsx', engine = 'xlsxwriter')
this_filter.to_excel(writer,sheet_name = str(k),index = False)
writer.save()
感谢您的帮助!
您在每次迭代中创建不同的编写器对象,覆盖前一个。你只需要将它移出循环,最后关闭编写器,它应该可以正常工作:
df = pd.DataFrame({'Number':pd.Series([1,2,3,4,5]),'Name':pd.Series(['John','Paul','Darren','John','Darren'])})
names = ['John','Paul','Darren']
writer = pd.ExcelWriter(r'C:\Users\Username\Desktop\somefilename.xlsx', engine = 'xlsxwriter')
for k,v in enumerate(names):
this_filter = df[df['Name'] == v]
this_filter.to_excel(writer,sheet_name = str(k),index = False)
writer.close()