我无法扩展我的代码以在 .csv 文件夹上使用,而不是仅在一个文件上使用。我编写了代码来读取和操作以以下代码开头的单个文件,并将数据放入 3 个列表中:with open('Filename_raw.csv', 'r') as read_obj: csv_reader = reader(read_obj) list1 = [] list2 = [] list3 = [] for row in csv_reader: if len(row) == 3: list1.append(row) if len(row) == 16: list2.append(row) if len(row) == 21: list3.append(row) ... ... ...由于其结构,我不得不逐行遍历每个 csv(一个 csv 中有 3 个不同的表)我有一个C:\Users\xxxx\xxxxxx\xxxxxx\xxxxxxxx.csvs 所在的文件路径,所以我希望获得一些关于如何遍历文件夹中所有文件而不是一个文件的指导。文件名的结构相似并且总是以“_raw.csv”结尾任何帮助将不胜感激 - 谢谢!
1 回答

月关宝盒
TA贡献1772条经验 获得超5个赞
以下代码应该可以工作。我还更新了代码,而不是使用三个 if 条件,您可以使用if - elif. 否则代码将检查三个条件,即使第一个条件满足,这是不必要的。
import os
directory = os.path.join("c:\\","path")
for root,dirs,files in os.walk(directory):
for file in files:
if file.endswith("_raw.csv"):
with open(file, 'r') as read_obj:
csv_reader = reader(read_obj)
list1 = []
list2 = []
list3 = []
for row in csv_reader:
if len(row) == 3:
list1.append(row)
elif len(row) == 16:
list2.append(row)
elif len(row) == 21:
list3.append(row)
添加回答
举报
0/150
提交
取消