我正在尝试从文件中读取一个数字并将其转换为int以便将其与值进行比较,但我收到此错误:
ValueError:基数为10的
int()
的文字无效:\xef\xbb\xbf10
我这样做:
def check_id(str_id)
csvfile = file('strings.csv')
for csvline in csvfile:
parts = csvline.split('|')
if int(parts[0]) == str_id:
print "id found"
里面的文件就像一张桌子(它是一个CSV文件),在里面,它看起来像这样:
10|item 10|description|information|price
这是文件的一行;有更多的行有多个ID,所以我想查看文件中是否存在ID。
我做错了什么?
答案 0 :(得分:2)
您在某些时候遇到的是BOM (Byte Order Mark),$ EF $ BB $ BF。
你正在努力比Python更聪明。 Python有一个csv module,可以正确地进行CSV解析;使用它而不是修补你自己的半生不熟的解析器。