我無法擴展我的代碼以在 .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
提交
取消
