我有一个类似于这样的字符串:
a = "'92.345'\r\n\r\n"
a.strip()
当我尝试使用
np.float(a)
或者float(a)
将其转换为浮点数时,我会得到*** Value error: could not convert string to float: '92.345'
我该如何将它干净地转换成浮点数?
您需要剥离字符串以去除空格和一个引号'
:
>>> float(a.strip().strip("'"))
92.345
正如@Martijn Pieters在评论中所说,您可以使用a.strip("\r\n\t '")
将其减少为一个strip调用。
a.strip("\r\n\t '")
来将其简化为 一个 strip 调用。 - Martijn Pietersstr.translate
:print(float(a.translate(None,"\r\n'")))
a = "'92.345'\r\n\r\n"
x = float(a[1:6])
移除除数字和点以外的所有内容
>>> a = "'92.345123'\r\n\r\n"
>>> float(re.sub(r'[^0-9\.]', '', a))
92.345123
\r
或\n
转换为浮点数时,您认为会变成什么? - TidBa.strip()
本身并没有任何作用。你必须对结果进行操作,例如a = a.strip()
或x = float(a.strip())
或其他操作。 - Kevin