上方点击蓝字关注?
对于单个文件的读取,Python编程非常常见,比如对于下图的处理我们一般可以用f=pd.read_excel(r'temp.xlsx')
但在python中,遍历某个路径所有文件是很常用的事。比如我们需要遍历一个文件夹中的100个csv文件,分别处理每个表格,如下图。那么本期的内容介绍介绍下如何实现这样的遍历。
遍历文件夹的方法首先需要调用os库,import os
os库是Python标准库,包含几百个函数,常用路径操作、进程管理、环境参数等几类。os.path子库以path为入口,用于操作和处理文件路径。这是Lab摘录整理的一些常用函数:
基于os模块实现遍历的idea:
摘取根目录path(字符串1)
os.path.dirname(path)得到path根目录文件夹下文件的名称(字符串2)
遍历连接字符串1和字符串2,读取并处理
具体的一个实例化编程如下:
##遍历表格求初始里程##
import os
path = r'C:\\Users\\zhouchengdong\\Desktop\\数据竞赛\\电动汽车行驶里程预测Train&Test\\TestData'
filenames = os.path.dirname(path)#得到字符串列表
initial_mile=[]
for filename in filenames:
true_path=path+r'\\'+filename
data=pd.read_csv(true_path,engine='python')
each_mile=data.loc[0]['mileage']
initial_mile.append(each_mile)
pd.DataFrame(initial_mile).to_excel('hello.xlsx')
Ps:用pandas的read_csv()方法时,默认使用C engine作为parser engine,而当文件名中含有中文的时候,用C engine在部分情况下就会出错。所以在调用read_csv()方法时指定engine为Python就可以解决问题了。具体参考:https://blog.csdn.net/qq_35318838/article/details/80564938
编辑:庄桢
“交通科研Lab”:分享学习点滴,期待科研交流!
如果觉得还不错
点这里!???