功能
把一个文件夹下的表格汇总到一个表格里
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
import pandas as pd import numpy as np import os,csv,sys adr = os.path.dirname(os.path.realpath(sys.argv[0])) file_list =[] def file_name(file_dir): for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.xlsx': file_list.append(os.path.join(root,file)) return file_list file_name(adr) print('是否整合以下所有表格:') for a in file_list: print(a) print(input('任意键继续')) excel_num = pd.ExcelFile(file_list[0]) header_data = pd.read_excel(file_list[0],sheet_name=len(excel_num.sheet_names)-1,header=0) tr_header = header_data.columns header_list =np.array(tr_header).tolist()
f = open('汇总.csv','a',newline='',encoding='utf-8') write = csv.writer(f) write.writerow(header_list) for i in file_list: excel = pd.ExcelFile(i) read_file = pd.read_excel(i,sheet_name=len(excel.sheet_names)-1,header = 0) tr_read_file = np.array(read_file) read_list = tr_read_file.tolist() print(read_list) for i in read_list: write.writerow(i) f.close()
|
演示
把表格和py文件放在一个文件夹下运行,运行结束就会出现一个汇总.csv的表格