Skip to main content
 首页 » 编程设计

python之值错误 : could not convert string to float: '1'

2025年05月04日10yxwkf

当我确认我试图转换为 float 的变量确实是一个字符串时,我感到非常困惑(我将在此处显示我的日志):

>>> print ratingXf 
'1' 
>>> print type(ratingXf) 
<type 'str'> 
>>> ratingX = float(ratingXf) 
ValueError: could not convert string to float: '1' 

我计算如下:

rateX, rateY= v.split(',') 
ratingXf = (rateX[1:]) 
ratingX = float(ratingXf) 

当我尝试将字符串转换为整数时,出现以下错误:

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

看起来这应该很简单。但我不明白为什么会出现此错误。任何人都可以发现问题吗?

谢谢!

请您参考如下方法:

您有一个嵌套字符串,即 ratingX = "'1'"。

对于你的起点 values = ["('1', '1')", "('1', '1')"]

我建议先把它变成你想要的格式:

clean_cell = lambda x: map(float, re.findall(r'\'([0-9]+)\'', x)) 
values_cleaned = map(clean_cell, values) 
 
# Then iterate 
for rating in values_cleaned: 
    if (len(rating) == 2): 
        ratingX, ratingY = rating[0], rating[1] # This step is probably not necessary :P 
        deal_with_ratings(ratingX, ratingY)