真正解决Pandas写入excel的多sheet问题

**

真正解决Pandas写入excel的多sheet问题

**

遇到需要利用pandas的to_excel()在同一个Excel文件中,循环在不同的sheet中写入数据,但查阅大量资料,基本都无法利用for循环,在“sheet1、sheet2、sheet3、。。。。。”中写入,后终于发现是程序语言的顺序问题,具体如下:

网上主流的方法——虽然没错,但很笨

writer=pd.ExcelWriter(‘filename.xlsx’)
df1.to_excel(writer,sheet_name=‘第一表’,index=0) #写第一张sheet,名字叫第一表
df2.to_excel(writer,sheet_name=‘第二表’,index=0) #写第二张sheet,名字叫第二表
writer.save()
writer.close()
网上很多人还解释需要同时写df1、df2等等。。。
但我想写成sheet1、sheet2.。。。。,要写1千多张表,总不能写1千个表名吧。。。

实际该问题的原因,重点就在于什么时候写writer

给出一个在极为隐秘的博客上的模板:

writer = pd.ExcelWriter('filename.xlsx')			#重点1:writer不能在下面的for循环中
counter=0
for sy in range(1,10):
    counter=counter+1
    data = pd.DataFrame(c) 
    data.to_excel(writer, 'sheet'+str(counter))
     
writer.save()		#重点2:save不能在for循环里
writer.close()

按照上述模板套用,亲测完全可以实现写在不同的sheet中,其本质就是:只能生成一个writer,并最终保存1次,即可。。。

猜你喜欢

转载自blog.csdn.net/jesonwz/article/details/111569330