利用python的pandas库合并当前目录下面的全部Excel
循环全部的sheet,然后根据表头名合并,每个sheet合并后单独输出一个excel
下载已经打包好的工具: https://download.csdn.net/download/zheyiw/20006442
完整的源码
# python pandas合并表格插件
# -*- coding: utf-8 -*-
import os
import time
import pandas as pd
# 读取当前路径下面全部的Excel
def getExcelList():
file_dir = os.getcwd() # 获取当前路径
L = []
for root, dirs, files in os.walk(file_dir):
for file in files:
if (os.path.splitext(file)[1] == '.xlsx' or os.path.splitext(file)[1] == '.xls') and not(file.startswith('sheet')):
L.append(os.path.join(root, file))
print(L)
return L
print("开始合并Excel")
print("完成后会自动关闭")
print("请耐心等待......")
print("扫描到如下excel:")
excel_list = getExcelList()
data_xls = pd.io.excel.ExcelFile(excel_list[0])
for num in range(0, len(data_xls.sheet_names)):
try:
sheet_list = []
for file in excel_list:
sheet_list.append(pd.read_excel(file, num))
sheet_name = "sheet%d.xlsx" % (num+1)
merge1 = pd.concat(sheet_list) # 按表头合并
merge1.to_excel(sheet_name, index=False)
print('已完成第%d个sheet的合并' % (num+1))
except:
print("合并错误:%d" % num)
print("全部合并完成!")
time.sleep(2)
如何打包python脚本为exe
1,安装库pyinstaller: pip install pyinstaller
2,打包命令: pyinstaller -F a.py