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

时间:2020-04-26 10:47:25

标签: python csv

我无法扩展代码以在.csv的文件夹中使用,而不是仅使用一个文件。我已经编写了读取和操作单个文件的代码,该文件以以下代码开头,并将数据放入3个列表中:

$myStr = substr($myStr, 1, -1);

由于其结构(一个csv中有3个不同的表),我不得不逐行浏览每个csv

我有一个.csvs所在的文件路径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) ... ... ... ,因此我希望获得有关如何循环浏览文件夹中所有文件的指南,而不是一个。

文件名的结构类似,并且始终以“ _raw.csv”结尾

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

1 个答案:

答案 0 :(得分:1)

以下代码应该可以工作。我还更新了代码,因为可以使用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)