我一直在寻找解决方案,但我还没有找到。所以,我试图在我的 csv 文件中找到特定输入的行号。例如,假设这是我正在解析的 csv 文件 -
a
b
c
d
这是一个包含 100 行和 1 列的文件。所以我输入“d”,我应该得到 4。我试过这段代码,但它没有给我 -
def find_index(input):
o = open('products.csv', 'rU')
myData = csv.reader(o)
index = 0
for row in myData:
if row == input:
return index
else : index+=1
我是 csv 模块的新手,所以如果我很愚蠢,请原谅我。谢谢!
编辑 - 我尝试了每个人的解决方案,但他们都没有返回。有什么问题吗?是'rU'标志吗?因为如果我删除它,我会收到此错误 - 对于 myData 中的行:
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
最佳答案
您正在寻找 line_num读者对象的成员:
with open('products.csv') as o:
myData = csv.reader(o):
for row in myData:
if row == input:
return myData.line_num
重要提示:
请注意,此 与返回的记录数不同,因为记录可以跨越多行。
但是,通常,如果您的记录终止符是换行符,它们将是相同的。如果您需要进一步的帮助,请发表评论。
关于python - 如何在 Python 的 CSV 文件中查找特定项目的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22320554/