Python将字符串转换为float(在这种情况下,传统方法float()不起作用)

2024-04-20 08:40:20 发布

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

在处理我们的一些数据时,我必须执行列的非常基本的条件组合。在填充空值之后,尝试在新变量的赋值中添加到列。其中一个列最终成为了对象,这一点都不是史无前例的。然而,我发现,看似有效的值不会转换为浮点值(例如4789.67)。经过多次搜索,似乎我看到的每一个解都指向一个不规则字符的存在(这并不能描述我的情况)。因此,我尝试在IPython中重新创建错误,并获得了成功。但是,我不明白我为什么会犯这个错误:

测试

z='4,534.07' #initial assignment
print z
print type(z) #checked type
print repr(z) #tried to reveal hidden characters
print repr(z.replace("'","")) #tried to remove excess quotes
print z[1:-1] #tried again to remove excess quotes
print float(z) #failed conversion attempt

输出

4,534.07
<type 'str'>
'4,534.07'
'4,534.07'
,534.0


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-70-8a3c46ebe6ab> in <module>()
      6 print z[1:-1]
      7 print z
----> 8 print float(z)

ValueError: invalid literal for float(): 4,534.07

我看到的基本转换问题的解决方案总是建议将“x”转换为float-->;>;float(x)。如果有人能解释我错过了什么,我将不胜感激。(我以前从未发生过这种事。)

我一直在用热情的平台:


发行说明 天篷1.0.0.1160

天篷1.0.0

第一次释放。请参阅文档浏览器,Canopy用户指南以获取发布 说明新情况、任何已知问题和解决方法的说明


谢谢


Tags: to数据gttype错误情况floatremove