要将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

python df to csv每次写入都在新的sheet 而不覆盖原有sheet

原文地址: https://www.cveoy.top/t/topic/i1sR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录