问题描述
我正在尝试打开和读取多个 csv 文件。我的目标是从位于不同 csv 的不同列/行中获取值,并将其放入列表中,稍后我将使用该列表在表格中显示。我一直在网上浏览并找到了一些信息,但我仍然无法让它工作。我收到一个错误:NameError:name 'row' is not defined
。
我对python比较陌生,所以我对很多模块还没有太多经验,所以如果有更好的方法来解决这个问题,请告诉我。此外,我使用的目录中除了 .csv 之外还有其他文件。
import os
testrank = []
directory = os.path.join("c:\\","Users\sm\OneDrive\TestProject")
for root,dirs,files in os.walk(directory):
for file in files:
if file.endswith(".csv"):
f=open(file,'r')
if row['rankings'] == 6:
testrank.append(row['Name'])
f.close()
print(testrank)
解决方法
变量row
确实没有设置,所以不能使用。
您首先需要“读取”文件 f
;创建一个“阅读器”,您可以在其中迭代行:
...
import csv
...
if file.endswith(".csv"):
f=open(file,'r')
myfilereader = csv.reader(f,delimiter=' ',quotechar='|')
for row in myfilereader:
if row['rankings'] == 6:
...