如何附加来自多个 csv 文件的值?

问题描述

我正在尝试打开和读取多个 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:
   ...