在我的代码中,如果在处理过程中发现错误(在另一段代码中调用),我希望能够打印行号,但是我在使用line_num
对象时遇到了这个问题。这是我的4行长的.csv代码:
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
几乎看起来代码正在打印索引而不是行号...
答案 0 :(得分:12)
lineNum
未更改。在循环内打印它会反复打印相同的值。
为什么不打印csvReader.line_num
如下?
for row in csvReader:
print(csvReader.line_num)