【发布时间】:2014-03-11 08:48:54
【问题描述】:
我一直在寻找解决方案,但还没有找到。所以,我试图在我的 csv 文件中找到特定输入的行号。例如,假设这是我正在解析的 csv 文件 -
a
b
c
d
这是一个有 100 行和 1 列的文件。所以我输入“d”,我应该得到 4。我试过这段代码,但它给了我 None -
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 模块的新手,所以如果我很愚蠢,请原谅我。谢谢!
编辑 - 我尝试了每个人的解决方案,但他们都只返回 None。有什么问题?它是“rU”标志吗?因为如果我删除它,我会收到这个错误 - 对于 myData 中的行:
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
【问题讨论】:
-
根据您报告的错误,听起来您文件中的换行符在某些方面可能不寻常。尝试将整个数据复制到某个文本字段(如 SO 编辑器),然后将其复制回文本编辑器(如记事本)并重新保存。