當前位置:
首頁 > 最新 > 如何用Python快速導入多個excel文件併合並文件數據

如何用Python快速導入多個excel文件併合並文件數據

日常工作中,每個月都會遇到那麼個固定的工作,將業務方同事整理的數據導入GP資料庫中的某張表中;聽起來是很簡單的活呢!

但每次業務MM總會發來一個文件夾,裡面有三四十個Excel文件(.xlsx格式,且欄位名稱相同)。據業務MM說,分那麼多文件是為了方便對賬,所以不能合放在一起。

作為一個小菜鳥,拿到這個數據,我先想到的做法是:

(1)新建一個excel文件A;

(2)將這三、四十個文件數據分別複製到A中。

(3)將文件A另存為csv文件;

(4)利用copy指令將數據導入GP資料庫中的表。

一個文件一個文件的導入或者複製再導入,確實是重複勞動、浪費時間;幾次操作下來,枯燥又心累~

心裡想一定得找到新的方法,提高效率,同時解放自己。剛好在學習python,那就用python試試把這些數據合併在一起吧!經過在網上搜索的資料,拼拼湊湊,,終於弄好了一個自動合併數據的小腳本。

思路如下:

(1)用python讀取固定文件夾下所有的excel(.xlsx)文件

(2)合併這些文件數據,並將結果存在同一個文件中

腳本如下:

#導入需要用到的模塊

import os

import pandas as pd

import numpy as np

#需要處理的文件夾所在的路徑

dir = "e:\test"

#新建列表,存放文件名(可以忽略,但是為了做的過程能心裡有數,先放上)

filename_excel = []

#新建列表,存放每個文件數據框(每一個excel讀取後存放在數據框)

frames = []

#循環讀取文件夾下的文件名

for root, dirs, files in os.walk(dir):

for file in files:

filename_excel.append(os.path.join(root,file))

frames.append(df)

#列印文件名

print(filename_excel)

#合併所有數據

result = pd.concat(frames)

#查看合併後的數據

result.head()

result.shape

#將合併後的數據放在E盤的ceshi.csv文件中,這裡可以根據實際需求存放文件格式

result.to_csv("e:\ceshi.csv, sep=",",index = False)

稍微處理一下合併後的文件,例如刪除標題行等(為什麼這一步在前面沒做,是因為每個文件的標題行一致,如果用skiprows=[0]會導致每個文件都少了一行)。最後用copy語句導入GP資料庫表。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python入門教程講解

TAG:Python |