前段时间工作中遇到需要将多个excel合并,且每个excel都有多个sheet页
在CSDN也没搜到特别简洁的代码,其实就两个循环的事情
不过还好,站在巨人的肩膀上看的远,就集各家所长,为己所用
顺带写了带图形界面的,顺带用PyQt5打了个包,上代码
import sys
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtWidgets import *
import pandas as pd
import os
import xlrd
def excel_merge(path, col, out):
fns = os.listdir(path)
dfs = pd.DataFrame()
for fn in fns:
excel_path = path + fn
wb = xlrd.open_workbook(excel_path)
sheets = wb.sheets()
for sheet in sheets:
df = pd.read_excel(excel_path, sheet_name=sheet, index=False)
new_df = df.loc[:, col]
dfs = dfs.append(new_df)
dfs.dropna(axis=0, how='any', inplace=True)