【问题标题】:Python CSV Reader: No Get Line Function? [duplicate]Python CSV 阅读器:没有获取行功能? [复制]
【发布时间】:2016-07-07 17:23:58
【问题描述】:

我一直在这里阅读有关 CSV 模块的 Python 文档:https://docs.python.org/2/library/csv.html

而且我注意到它没有提到读取器对象返回当前正在读取的行号或当前处于哪个迭代的任何方法。这似乎是一个广泛需要的功能。所以,我想知道如何做到这一点:

reader = csv.DictReader(readFile)
    for row in reader:
        # do something 
        # now want to find the line number that row corresponds to

如果不可能,为什么会这样。

【问题讨论】:

标签: python csv iterator generator


【解决方案1】:

reader 对象是一个迭代器,所以你总是可以使用enumerate 来获取行号:

reader = csv.DictReader(readFile)
for line_number, row in enumerate(reader):
     # some code

enumerate 还允许您指定自定义起始索引:

for line_number, row in enumerate(reader, 2):
    # line number starts at 2

enumerate 不仅限于 csv 模块的 reader 对象,而且通常适用于可迭代对象和迭代器。

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 2018-05-05
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多