Python - 理解 CSV 模块和 line_num 对象

标签 python csv python-3.x module python-3.3

在我的代码中,如果在处理过程中发现错误(在另一段代码中调用),我希望能够打印行号,但我无法使用 line_num对象。这是我的 .csv 代码,它有 4 行长:

with open(inFile, 'U') as inFH:
    csvReader = csv.reader(inFH, delimiter = ',')
    header = csvReader.__next__()
    lineNum = csvReader.line_num

    for row in csvReader:
        print(lineNum)

当我执行这段代码时,我在控制台中看到了这个:

1
1
1
1

我的期望是我会看到:

1
2
3
4

几乎看起来代码正在打印索引而不是行号......

最佳答案

lineNum 在第一次赋值后没有改变。在循环中打印它重复打印相同的值。

为什么不打印 csvReader.line_num 如下?

for row in csvReader:
    print(csvReader.line_num)

关于Python - 理解 CSV 模块和 line_num 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19210973/

相关文章:

csv - 用于字符串比较的 Rust 嵌套迭代器中的所有权和生命周期

php - 无法使用 PHP 程序获取 MySQL 行数据

string - BeautifulSoup Div 类返回空

python - BS HTML 解析 - & 在打印 URL 字符串时被忽略

python - 用于获取 <p> 内所有数据的 Xpath 表达式

Python UPDATE 查询的参数位于不同位置

json - jq 哈希数组到 csv

python - Python 中的 enumerate() 字典

python - 检查 exe 是 32 位还是 64 位

使用 UTF-8 header 的 Python 2.7 解码错误 : UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3