首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用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数据库表。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180118G07FEG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券