在Python中读取带有1.#QNAN值的浮点数
有没有人知道一个可以处理MSVC的nan数字(1.#QNAN)的Python字符串转浮点数的解析器?目前我只是用float(str)
,它至少能处理"nan"。
我正在用一个Python脚本来读取一个C++程序的输出(这个程序可以在linux、mac和win平台上运行),但是当读取这些值时,脚本就出错了。(我已经找到一个C++库,可以在不同平台上输出一致的值,但有时候我需要比较以前的结果,所以这些问题偶尔还是会出现。)
1 个回答
2
因为你需要处理旧的输出文件,我觉得唯一的办法就是写一个 robust_float
函数:
def robust_float(s):
try:
return float(s)
except ValueError:
if 'nan' in s.lower():
return float('nan')
else:
raise