python df to csv每次写入都在新的sheet 而不覆盖原有sheet
要将DataFrame写入到新的sheet而不覆盖原有sheet,可以使用openpyxl库来实现。首先,确保你已经安装了openpyxl库。然后,按照以下示例代码操作:
import pandas as pd
# 创建一个Excel文件对象
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
# 读取已存在的Excel文件
try:
# 尝试打开已存在的Excel文件
writer.book = openpyxl.load_workbook('output.xlsx')
# 获取已有sheet的名称列表
sheet_names = writer.book.sheetnames
except FileNotFoundError:
# 如果文件不存在,则创建新的Excel文件
writer.book = openpyxl.Workbook()
sheet_names = []
# 将DataFrame写入到新的sheet
df.to_excel(writer, sheet_name='Sheet'+str(len(sheet_names)+1), index=False)
# 保存Excel文件
writer.save()
这段代码中,首先创建了一个Excel文件对象writer,然后尝试打开已存在的Excel文件。如果文件不存在,则创建新的Excel文件。接下来,将DataFrame写入到新的sheet,每次都使用一个新的sheet名称。最后,保存Excel文件。
这样,每次运行代码时,DataFrame都会写入到一个新的sheet而不会覆盖原有sheet
原文地址: https://www.cveoy.top/t/topic/i1sR 著作权归作者所有。请勿转载和采集!