我有一个看起来像这样的字符串:
a = "'92.345'\r\n\r\n"
a.strip()
当我尝试使用np.float(a)
或float(a)
将其转换为浮动时,我得到了
*** Value error: could not convert string to float: '92.345'
如何将其干净地转换为浮动?
答案 0 :(得分:5)
你需要strip你的字符串删除空格和一个引用'
:
>>> float(a.strip().strip("'"))
92.345
或者@Martijn Pieters在评论中说,您可以使用a.strip("\r\n\t '")
将此减少为一次调用。
答案 1 :(得分:2)
您还可以使用str.translate
:
print(float(a.translate(None,"\r\n'")))
答案 2 :(得分:0)
尝试切割字符串以仅提取其数字部分:
a = "'92.345'\r\n\r\n"
x = float(a[1:6])
答案 3 :(得分:0)
删除除数字和点之外的所有内容
>>> a = "'92.345123'\r\n\r\n"
>>> float(re.sub(r'[^0-9\.]', '', a))
92.345123