安嫂:老安,我有一些格局雷同的excel须要合并成一个汇总的excel,不想一个一个复制,你懂我的意思吧?
老安:没问题,excel我熟(熟个鬼,次要是之前做过一个次这种合并,按着博客一点一点来的,链接在这:如何疾速将多个Excel表格合并成一个
然而,这次啪啪打脸,安嫂给的excel格局不能间接转载导入,须要做一些批改,得找点材料钻研钻研。那10,20分钟可都不肯定能完事了,先写个脚本给安嫂安顿上,而后再钻研吧,python代码如下:

import sysimport openpyxlimport warningsimport osfrom pathlib import Pathif __name__ == '__main__':    warnings.filterwarnings("ignore")    if len(sys.argv) != 3:        print("参数谬误!")        sys.exit()    excel_dir = Path(sys.argv[1])    excel_summary = Path(sys.argv[2])    if not excel_dir.exists():        print("须要合并的excel文件夹门路不存在!")        sys.exit()    if not excel_dir.is_dir():        print("须要合并的excel文件夹门路不非法!")        sys.exit()    if excel_summary.parent == excel_dir:        print("excel汇总文件不能放在须要合并的文件夹内!")        sys.exit()    try:        if not excel_summary.exists():            workbook_summary = openpyxl.Workbook(excel_summary)            workbook_summary.create_sheet("sheet1", 0)            workbook_summary.save(excel_summary)            workbook_summary.close()        workbook_summary = openpyxl.load_workbook(excel_summary)        workbook_summary_sheetnames = workbook_summary.get_sheet_names()        workbook_summary_first_sheet = workbook_summary.get_sheet_by_name(workbook_summary_sheetnames[0])        workbook_summary_first_sheet_rows_count = 1        for parent, dir_names, filenames in os.walk(excel_dir):            for filename in filenames:                workbook_temp_name = parent + "/" + filename                print(workbook_temp_name)                workbook_temp = openpyxl.load_workbook(workbook_temp_name)                workbook_temp_sheetnames = workbook_temp.get_sheet_names()                workbook_temp_first_sheet = workbook_temp.get_sheet_by_name(workbook_temp_sheetnames[0])                rows = workbook_temp_first_sheet.max_row                columns = workbook_temp_first_sheet.max_column                for r in range(1, rows+1):                    for c in range(1, columns+1):                        workbook_summary_first_sheet.cell(workbook_summary_first_sheet_rows_count, c).value = workbook_temp_first_sheet.cell(r, c).value                    workbook_summary_first_sheet_rows_count = workbook_summary_first_sheet_rows_count + 1                workbook_temp.close()                workbook_summary_first_sheet_rows_count = workbook_summary_first_sheet_rows_count+1        workbook_summary.save(excel_summary)        workbook_summary.close()    except Exception as e:        print(e)

用pyinstaller生成exe,交差!

pip install pyinstallerpyinstaller -F 脚本.py