使用 json.loads() 替代,因为 JSON 支持 NaN 值的序列化和反序列化。
import json
# 原始字符串,其中包含 NaN 值
string_with_nan = '[NaN,NaN,0.0]'
# 将 NaN 替换为 null,使其成为有效的 JSON
string_valid_json = string_with_nan.replace('NaN', 'null')
# 使用 json.loads() 将字符串转换为列表
try:
list_with_none = json.loads(string_valid_json)
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
print(list_with_none)
参考:
kimi prompt: ast.literal_eval 将字符串 ‘[NaN,NaN,0.0]’ 转为列表时报错:ValueError: malformed node or string on line 1: <ast.Name object at 0x0000029929149B50>