python 批量读取xlsx并合并_如何用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 批量读取xlsx并合并_如何用Python快速导入多个excel文件并合并文件数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql进阶3_MySQL进阶
- 下一篇: rust里mp5a4_Rust源码分析: