合并多个文件夹下多个excel表格 python操作

整理多个excel文件是家常便饭,刚开始整理得头都痛。
于是,想找偷懒的方法一步合并。
Finally, 写了个小脚本搞定。
思路很简单,这里是我平时用的,给excel新增了列,展示数据,所以看起来会繁复一点,不需要就直接注释掉,快很多简洁很多。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time: 2020/1/10 22:08
# author: Hush

import os
import glob
import pandas as pd

# 先建立一个空的二维表
yewu_data = pd.DataFrame()
row_num = 0
# 下面是我的文件夹位置,我在桌面的sale文件夹下,放了5个文件夹,分别是5家店铺的销售数据。
# 5个文件夹里又各自放了每家店铺在12月份1-31号每天的销售报表。
folder_path = r'C:\Users\…\Desktop\sale\*'  #这里是大文件夹的位置
folder = glob.glob(folder_path)  # 读取文件夹里放了什么东西,因为我写了*,所以什么都会被认出来  

for i in folder:
    # print(i)
    excel_list = os.listdir(i)
    print('文件夹%s下有%d张excel表:' % (str(i.split('\\')[5]), len(excel_list)), excel_list)
    for j in excel_list:
        # print(j)
        excel_path = i + '\\' + str(j)
        data1 = pd.read_csv(excel_path, skiprows=0)
        rows = data1.shape[0]
        row_num = row_num + rows
        # 新增两个变量,如果你不新增,直接删掉
        data1['店铺'] = excel_path.split('\\')[5]       
        data1['时间'] = '2020-01-' + str(j.split('.')[0])
        # print(row_num)
        yewu_data = pd.concat([yewu_data, data1])
        # print(yewu_data)


yewu_data.to_excel(folder_path.replace(r'*', '') + r'all.xlsx', index=False)
print('表演完毕')
print('此次新增行数:', row_num)


如果有更好的方法,欢迎告诉我哦

posted @ 2020-01-15 13:15  喜欢吃面的猪猪  阅读(2987)  评论(0编辑  收藏  举报