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

☆樱花仙子☆ 提交于 2019-12-15 05:28:57

功能描述:

可以合并指定文件夹内所有的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("合并完成")

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!