python - 如何在python中分别读取csv文件的两个字段?

标签 python csv

我想分别读取 csv 文件的两列,但是当我编写如下代码时,python 只显示第一列,第二列不显示任何内容,但在 csv 文件中,第二列也有很多行。

import csv
import pprint

f = open("arachnid.csv", 'r')
read = csv.DictReader(f)
for i in range(3):
    read.next()

for i in read:
    pprint.pprint(i["binomialAuthority_label"])

for i in read:
    pprint.pprint(i["rdf-schema#label"])

最佳答案

这样做的原因是,当您按照当前的方式使用 DictReader 时,它将创建所谓的迭代器/生成器。因此,当您对其进行一次迭代时,您无法按照当前的方式再次对其进行迭代。

如果您想保持逻辑不变,您实际上可以在文件读取器对象上调用seek(0)来重置其位置,如下所示:

f.seek(0)

下次你迭代你的 dictreader 对象时,它会给你你正在寻找的东西。所以您感兴趣的代码部分是这样的:

for i in read:
    pprint.pprint(i["binomialAuthority_label"])

# This is where you set your seek(0) before the second loop
f.seek(0)

for i in read:
    pprint.pprint(i['rdf-schema#label'])

关于python - 如何在python中分别读取csv文件的两个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33125020/

相关文章:

javascript - getElementById 返回 null

python - 读取带有开始/结束标签的结构化数据

python - 如何将热图刻度标签映射到值并将这些值添加为图例

python - 在Python中计算列表中正数的总和

javascript - 具有多个动态选择框angularjs

swift - 我如何在 Swift 4+ 中解析这个 GTFS 字符串

python - 使用 pandas/python 从导入的 CSV 中选取日期

php - 无法从 php 执行 python 脚本

python - 将元素保留在列表中,其数字加起来等于某个值

csv - 在 beeline hive 中导出为 csv