解决用pandas 写入excel不覆盖已有其他sheet的问题
**
遇到需要利用pandas的to_excel()在同一个Excel文件中,循环在不同的sheet中写入数据,但查阅大量资料,基本都无法利用for循环,在“sheet1、sheet2、sheet3、。。。。。”中写入,后终于发现是程序语言的顺序问题,具体如下:
可以利用pd.ExcelWriter()函数创建一个writer对象,并设置参数mode='a'来打开已存在的Excel文件进行追加写入。 具体步骤如下:
1.通过pd.ExcelWriter()函数创建一个writer对象,指定写入的Excel文件路径和名称,以及mode='a'表示追加写入。 例如: writer = pd.ExcelWriter('test.xlsx', mode='a')
2.利用.to_excel()方法,设置sheet_name参数指定要写入的sheet名称,以及writer参数指定写入的Excel文件对象。 例如: df.to_excel(writer, sheet_name='Sheet1')
3.最后调用writer.save()方法进行保存,即可将数据写入指定的新的sheet中,不会影响其他已存在的sheet数据。 例如: writer.save()
完整示例代码如下:
import pandas as pd
df = pd.read_excel('test.xlsx')
writer = pd.ExcelWriter('test.xlsx', mode='a')
df.to_excel(writer, sheet_name='Sheet1')
writer.save() writer.close()