如何附加来自多个 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.html 在csv.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 文件