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

标签 python excel csv

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

相关文章:

csv - 如何将 pig 的输出存储到 hive 表中?

linux - 使用awk从日志文件中提取包含文本和数字的特定行

Python:局部变量神秘地更新全局变量

python - Python 中是否有一个快速的 XML 解析器允许我将标记的开始作为流中的字节偏移量?

python - 在 Python 中使用神经网络进行光学字符识别

vb.net - 如何使用 VB.net 和 Excel 工作表对数据进行计数和排序

excel - 如何创建 "if x ≥ then multiply by y"等的公式?

Excel If, If Then 颜色单元格语句

javascript - CSV 数据和 JS/HTML

Python - 作为条件的模运算