Skip to main content
 首页 » 编程设计

python之如何在 Python 的 CSV 文件中查找特定项目的行号

2025年05月04日13kevingrace

我一直在寻找解决方案,但我还没有找到。所以,我试图在我的 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 

重要提示:

请注意,此 与返回的记录数不同,因为记录可以跨越多行。 但是,通常,如果您的记录终止符是换行符,它们将是相同的。如果您需要进一步的帮助,请发表评论。