問題:今天有人找我,需求是把多個excle 錶快速合併成爲一個,比如行政人員統計了每個員工的信息:年齡、住處、身份證號。最後需要把這些表格彙總成爲一個表格。一個個複製太慢了,所以需要借用python來處理。
主要用到:
1 、pandas 連接函數 pandas.concat
2 、pandas寫入函數pandas.DataFrame.to_excel
同樣的函數還有pandas.DataFrame.to_csv 將DataFrame寫入逗號分隔值(csv)文件。
import os
import pandas as pd
import numpy as np
dir = r"C:\Users\scene3dwh\Desktop\testexcle"#設置工作路徑
#新建列表,存放文件名
filename_excel = []
#新建列表,存放每個文件數據框
for root, dirs, files in os.walk(dir):
for file in files:
filename_excel.append(os.path.join(root,file))
df = pd.read_excel(os.path.join(root,file)) #excel轉換成DataFrame
frames.append(df)
#打印文件名
print(filename_excel)
#合併所有數據
result = pd.concat(frames)
#查看合併後的數據
result.head()
result.shape
result.to_excel('C:\\Users\\scene3dwh\\Desktop\\testexcle\\最後合併.xlsx',index =0)