工作中經常遇到要將十幾個Excel(不管是xls、或者是CSV)合並到同一個文件中去,手工一個一個復制是不可能的,此時就輪到Python出馬了
主要是利用for循環,讀取每一個文件,作為df,然后再通過list的append加在一起,然后再通過pd.concat拼接起來,最后將文件讀到CSV中去
import os import pandas as pd import numpy as np dir = "D:\\merge"#設置工作路徑 #新建列表,存放文件名(可以忽略,但是為了做的過程能心里有數,先放上) filename_excel = [] #新建列表,存放每個文件數據框(每一個excel讀取后存放在數據框) frames = [] for root, dirs, files in os.walk(dir): for file in files: #print(os.path.join(root,file)) 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_csv('D:\\merge\\a12.csv',sep=',',index = False)#保存合並的數據到電腦D盤的merge文件夾中,並把合並后的文件命名為a12.csv