整理多個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)
如果有更好的方法,歡迎告訴我哦

