如何将多张 excel 拼接成一张 excel?

How to concat excels with multiple sheets into one excel?

该文件夹包含至少 20 个 excel。每个 excel 包含九个 sheet。这些 excel 具有相同类型的 sheet(相同的 header 但数据不同)。我需要将这 20 excels sheet 由 sheet 连接成一个 excel。每个 excel 中的前两个 sheet 是指令。它们是可以跳过的。我怎样才能做到这一点?谢谢!

示例:文件 A Sheet 3,文件 B sheet 3,文件 A sheet 4,文件 B sheet 4

所以最终组合文件将是这样的:

前一段时间我不得不做一些类似的事情:

这段代码应该可以为您解决问题:

import pandas as pd
import os

collection = {}
for file in os.listdir():
    if file.endswith(".xlsx"):
        mysheets = pd.ExcelFile(file)
        mysheetnames = mysheets.sheet_names
        for i in mysheetnames[2:]: #change the 2 in [2:] to change how many sheets you delete
            mydata = pd.read_excel(file, i)
            combi = collection.get(i, [])
            collection[i] = combi + [mydata]

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

for key in collection:
    myresult = pd.concat(collection.get(key), sort=False)
    myresult.to_excel(writer, sheet_name=key)

writer.save()