python pands合并文件夹内多个excel,工作簿,工作表,为一个

功能描述:

可以合并指定文件夹内所有的excel文件,包括xls与xlsx,其他类型文件不影响,并且合并所有excel里面的每一个sheet,也就是各个工作簿下面的各个sheet。

注意:这里的文件夹指定为:桌面下的excel文件夹内。

对于不同路径以及,想要多个工作簿的指定sheet可以稍加修改,同样可以使用。

最后在相同路径下面会默认生成一个汇总excel,所以尽量不要包含此名称的excel,如有需要也可加一行判断。

import pandas as pd
import os


dir = "C:\\Users\\lenovo\\Desktop\\excel\\"


def read_sheet(file_dir):
    dfs = []
    for file in os.listdir(file_dir):
        if file.endswith("xlsx") or file.endswith("xls"):
            file_sheet = pd.read_excel(file_dir + "\\" + file, sheet_name=None)
            for sheet_name in file_sheet:
                file_data = pd.read_excel(file_dir + "\\" + file, sheet_name)
                file_data.insert(0, "工作簿", file)
                file_data.insert(1, "工作表", sheet_name)
                dfs.append(file_data)
    df = pd.concat(dfs, sort=False)
    writer = pd.ExcelWriter(file_dir + '汇总.xlsx', engin='openpyxl')
    df.to_excel(writer, sheet_name="sheet1", index=False)
    writer.save()
    writer.close()


if __name__ == "__main__":
    read_sheet(dir)
    print("合并完成")
发布了35 篇原创文章 · 获赞 7 · 访问量 3335

猜你喜欢

转载自blog.csdn.net/Hjchidaozhe/article/details/103458597