Python读取文件夹下的所有文件实例代码

文章介绍了如何使用Python的os模块读取文件夹下的所有文件,包括递归遍历子文件夹。通过os.listdir获取文件名列表,判断是否为文件并用open打开,使用迭代器iter_f逐行读取。还提供了一个删除空文件夹的函数traverse。最后展示了如何结合pandas读取多个CSV文件并追加写入新的CSV文件。
摘要由CSDN通过智能技术生成

Python读取文件夹下的所有文件实例代码
2021-09-30 00:46励志故事 Python

这篇文章主要给大家介绍了关于Python读取文件夹下的所有文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python读取文件夹下的所有文件
os.listdir(path)是得到在path路径下所以文件的名称列表。

 open(path)是打开某个文件。

 iter是python的迭代器。    

 所以读取某文件夹下的所有文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import os
path = “D:/Python34/news” #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
s = []
for file in files: #遍历文件夹
if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
f = open(path+“/”+file); #打开文件
iter_f = iter(f); #创建迭代器
str = “”
for line in iter_f: #遍历文件,一行行遍历,读取文本
str = str + line
s.append(str) #每个文件的文本存到list中
print(s) #打印结果
你也可以把遍历文件夹的操作定义成一个函数,如果是文件夹就不断迭代遍历。进而读取文件夹下所有的文件(包括文件夹里中的文件)

Python批量读取文件夹下所有文件
现给定一个文件夹,下面有很多文件(可能是一天一个数据文件等),我们要读取该文件夹下面的所有文件,如:

Python读取文件夹下的所有文件实例代码

代码(包括删除空文件,有参考网上代码):

?
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
43
44
45
46
47
48

-- coding: utf-8 --

“”"
Created on Wed Nov 20 23:28:00 2019

@author: 1
“”"

import pandas as pd
import os

删除空文件夹,否则会报错

def traverse(filepath):

遍历filepath下所有文件,包括子目录

files = os.listdir(filepath)
for fi in files:
fi_d = os.path.join(filepath, fi)
if os.path.isdir(fi_d): # 判断是否为文件夹
if not os.listdir(fi_d): # 如果文件夹为空
os.rmdir(fi_d) # 删除这个空文件夹
else:
traverse(fi_d)
else:
file = os.path.join(filepath, fi_d)
if os.path.getsize(file) == 0: # 文件大小为0
os.remove(file) # 删除这个文件

def get_file(path): # 创建一个空列表
files = os.listdir(path)
files.sort() # 排序
list = []
for file in files:
if not os.path.isdir(path + file): # 判断该文件是否是一个文件夹
f_name = str(file)

print(f_name)

tr = ‘\’ # 多增加一个斜杠
filename = path + tr + f_name
list.append(filename)
return (list)

if name == ‘main’:
path = r’D:\workspace\python\m1\T-drive Taxi Trajectories\release\taxi_log_2008_by_id’
traverse(path)
list = get_file(path)
for i in range(10): # 表示读10个文件
df = pd.read_csv(list[i], sep=‘,’)
df.to_csv(‘taxi2.csv’, mode=‘a’, header=None)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用Python读取文件文件数,可以使用os模块的os.listdir()函数和os.path.isfile()函数。以下是一种方法: import os dirname = ".\..\dir1" # 替换为你想要读取的文件夹路径 # 判断文件夹dirname是否存在 if not os.path.exists(dirname): print("error: folder \"", dirname, "\" does not exist!") sys.exit() # 读取文件夹dirname下的文件和子文件夹,并统计是文件的个数 count = 0 names = os.listdir(dirname) for name in names: path = os.path.join(dirname, name) if os.path.isfile(path): count += 1 print("文件夹文件数为:", count) 以上方法使用os.listdir()函数来获得文件夹文件列表,然后使用os.path.isfile()函数判断每个文件是否为文件,如果是文件,则统计个数。最后打印出文件夹文件数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python读取多层嵌套文件夹文件实例](https://download.csdn.net/download/weixin_38518518/12854921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python读取文件夹下文件以及子文件夹文件](https://blog.csdn.net/qq_41253960/article/details/128267990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DK业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值