如何使用 openpyxl 将现有工作簿 sheet 添加到另一个现有工作簿?

How can I add an existing workbook sheet to another existing workbook with openpyxl?

我正在尝试创建一个新的 excel,其中包含 excel 个文件列表的第一个 sheet。

我尝试了以下方法,但行 wb.create_sheet(sheet) 当然不起作用。

wb = Workbook('new.xlsx')

for i in range(len(file_list)):
    excel = load_workbook(file_list[i], read_only=False)
    sheet = excel[excel.sheetnames[0]]
    sheet.Name = tab_names_list[i]

    wb.create_sheet(sheet)


wb.save('new.xlsx')

同时用wb.copy_worksheet(sheet)替换 wb.create_sheet(sheet)给出错误ValueError: Cannot copy worksheets in read-only or write-only mode

这可能对您不起作用,但这是我在类似应用程序中使用的。它确实需要 pandas 数据帧,我不确定你是否在使用它们。

file_list = [file_1, file_2]
sheet_names = ['file1_name', 'file2_name']

writer = pd.ExcelWriter("workbook_name.xlsx", engine='xlsxwriter')

for file, s_names in zip(file_list, sheet_names):
    file.to_excel(writer, sheet_name=s_names)
writer.save()