更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

用Python快速导入多个excel文件并合并文件数据

  • 发布: 古月
  • 来源: 数据分析师的日常
  • 时间:2018-01-18 15:35

日常工作中,每个月都会遇到那么个固定的工作,将业务方同事整理的数据导入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:

#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

#将合并后的数据放在E盘的ceshi.csv文件中,这里可以根据实际需求存放文件格式

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

稍微处理一下合并后的文件,例如删除标题行等(为什么这一步在前面没做,是因为每个文件的标题行一致,如果用skiprows=[0]会导致每个文件都少了一行)。最后用copy语句导入GP数据库表。

本文内容转载自网络,本着传播与分享的原则,来源/作者信息已在文章顶部表明,版权归原作者所有,如有侵权请联系我们进行删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:0基础/转行,如何用学会Python?
下一篇:Python学习心得分享,如何快速入门Python

Python编程练习题二

Python编程练习题一

Python实现降雪效果

Python中dir()、help()的使用

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省