运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA把多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sheet这种办法对数据量不多的可以应付,但是毕竟不能跟直接把多个excel文件合并成一个sheet来个方便简洁,在网上找了一圈"把多个excel文件合并成一个sheet",找到的都是类似于上面两种中的一种,VBA只会直接复制,不能修改的情况下只能改为用python处理,以下是python的处理过程
第一步导入相关的包
import warnings
warnings.filterwarnings('ignore')
import numpy as np
import pandas as pd
import xlwt
import xlrd
import os
文件所在的路径
path="/数据部/04-店铺订单/02-平台/02.苏宁易购/2018年订单/"
获得月份的列表
lists=os.listdir(path)[0:12]
遍历每个月份下的所有文件,并读取
aa=[]
for x in lists:
p=path+x
#print(p)
y=os.listdir(p)
for x in y:
#获得文件的绝对路径
yy=p+"/"+x
#print(yy)
#读取文件
yyy=pd.read_csv(yy,encoding='gbk')
#把每个文件添加至列表aa中
aa.append(yyy)
把列表AA转为dataframe
df=pd.concat(aa)
把得到的df文件输出
df.to_csv("2018.csv",encoding='gbk')
15行代码搞定,不得不说python确实是一门简洁方便的语言,脚本能解决的问题还是要交给脚本哈,后面用脚本把每天的相关文件添加至数据库