Python 循环浏览文件夹中的所有.csv文件

Python 循环浏览文件夹中的所有.csv文件,python,csv,Python,Csv,我无法将代码扩展到.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:

我无法将代码扩展到.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个不同的表),我不得不逐行浏览每个csv

我有一个文件路径
C:\Users\xxxxx\xxxxxx\xxxxxx\xxxxxxxx
,它是.csv所在的位置,因此我希望获得一些指导,指导如何循环遍历文件夹中的所有文件,而不是一个文件

文件名的结构类似,总是以“_raw.csv”结尾


任何帮助都将不胜感激-谢谢

以下代码应该可以工作。我还更新了代码,因为您可以使用
if-elif
,而不是使用三个if条件。否则,代码将检查这三个条件,即使第一个条件满足,这是不必要的

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)

这回答了你的问题吗?查看
os.walk()
或更简单的
glob.iglob()
Thank heaps!。最后我使用了
glob
函数,它起作用了!