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

Posted

技术标签:

【中文标题】如何附加来自多个 csv 文件的值?【英文标题】:How to append values from multiple csv files? 【发布时间】:2021-02-17 01:36:08 【问题描述】:

我正在尝试打开和读取多个 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 不存在,因为缺少某些代码行以连续读取(可能)进行处理。参见例如docs.python.org/3.9/library/csv.htmlcsv.reader 下面是一个使用row 的简短示例。 【参考方案1】:

变量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:
   ...

【讨论】:

以上是关于如何附加来自多个 csv 文件的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中使用 Pandas 数据结构附加多个 CSV 文件

如何在循环中附加多个熊猫数据框?

如何比较来自多个csv的数据

如何根据其中的值更新文本文件

如何获取附加了 Jquery Multifield 插件的多个下拉列表和文件上传的值

如何根据特定列的值从 CSV 文件中选择值