Skip to main content
 首页 » 编程设计

python之值错误 : invalid literal for int() with base 10: Python

2025年05月04日12youxin

我有以下一段代码。我正在读取 csv 并将其内容解析为列表:

import csv 
finput = input.reader(open(path,'rb'),delimiter=',',quotechar='|') 
print finput[0] 

输出是:

['"1239"', '"2249.00"', '"1"', '"3"', '"2011-02-20"'] 

现在我只想提取 1239 数字...第一个元素因此 print finput[0][0] 给出 "1239"。现在,如果我将其转换为整数:

el = int(finput[0][0]) 

我收到这个错误:

ValueError: invalid literal for int() with base 10: '"1239"' 

为什么它有那些双引号?

什么是提取整数 1239 的干净方法?

请您参考如下方法:

简而言之:

int(finput[0][0].strip('"')) 

但是为什么要将 quotechar 设置为 |?你确定它不应该是 " 吗?将它设置为 ",你应该得到不带引号的字符串。