os.walk方法,主要用来遍历一个目录内各个子目录和子文件。
os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
合并文件
import os import pandas as pd import time t1 = time.time() l = [] n=0 for file in os.walk('D:/fghgh'): #'file是一个元祖 有3部分 tupple(dirpath, dirnames, filenames), ' for table in file[2]: path = file[0] + '/' + table data = pd.read_excel(path,header=0,encoding='gbk') data['riqi'] = table data['riqi'] = data['riqi'].str.split('.').str[0] n = n+1 l.append(data) print('第' + str(n) + '个表格已提取') data_result = pd.concat(l) data_result.to_excel('D:/ty/data_result.xls',index=0) t2 = time.time() t = t2 - t1 t = round(t,2) print('用时' + str(t) + '秒') print('完成!')