# python pandas合並多個excel(xls和xlsx)文件(彈窗選擇文件夾和保存文件)
import tkinter as tk from tkinter import filedialog import os import pandas as pd import glob root = tk.Tk() root.withdraw() # 選擇文件夾位置 filelocation = os.path.normpath(filedialog.askdirectory(initialdir=os.getcwd())) lst=[] # 讀取文件夾下所有文件(xls和xlsx都讀取) for i in glob.glob(filelocation + "\\\\" + "*.*"): if os.path.splitext(i)[1] in [".xls", ".xlsx"]: lst.append(pd.read_excel(i)) # 保存合並后的excel文件 writer = pd.ExcelWriter(filedialog.asksaveasfilename(title = "保存", initialdir = filelocation, defaultextension = "xlsx", filetypes = [("Excel 工作簿", "*.xlsx"), ("Excel 97-2003 工作簿", "*.xls")])) pd.concat(lst).to_excel(writer, 'all', index=False) writer.save() print('\n%d個文件已經合並成功!'% len(lst))