逐个读取文件夹下所有文件_python下遍历文件夹中所有文件

本文介绍了在Python中如何遍历文件夹并读取所有文件,特别是处理包含多个CSV文件的情况。通过引入os库,可以实现对文件夹内文件的逐个读取。文中还提到了在文件名含有中文时,使用pandas的read_csv()方法需要注意的engine参数设置问题。
摘要由CSDN通过智能技术生成

上方点击蓝字关注?

2fb7ee874e0a6a1bc5c79e9e77a4b4fa.png

029e8f3981c9c4b212cb62d1ac29993b.gif

对于单个文件的读取,Python编程非常常见,比如对于下图的处理我们一般可以用f=pd.read_excel(r'temp.xlsx')

6c872af5013e818c0102e275ece76dee.png

但在python中,遍历某个路径所有文件是很常用的事。比如我们需要遍历一个文件夹中的100个csv文件,分别处理每个表格,如下图。那么本期的内容介绍介绍下如何实现这样的遍历。

b5d64f2225ff9ee7462151d495fdf0a0.png

遍历文件夹的方法首先需要调用os库,import os

os库是Python标准库,包含几百个函数,常用路径操作、进程管理、环境参数等几类。os.path子库以path为入口,用于操作和处理文件路径。这是Lab摘录整理的一些常用函数:

3acbc76e6f4966027bf98473cfe72822.png

基于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

编辑:庄桢

c5eb0cbbe1894f88e3839a1c132574dc.gif

“交通科研Lab”:分享学习点滴,期待科研交流!

9fcdf4d2ce6710232ba301f71b2bfbee.png

如果觉得还不错

点这里???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值