ValueError:无法将字符串转换为float:“1”

2024-05-19 18:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我计算如下:

^{pr2}$

当我试图将字符串转换为整数时,我得到了以下错误:

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

看来这应该很简单。但我不明白为什么我会犯这个错误。有人能发现问题吗?在

谢谢!在


Tags: to字符串convertstringtype错误notfloat
1条回答
网友
1楼 · 发布于 2024-05-19 18:18:25

您有一个嵌套字符串,即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)

相关问题 更多 >