Json 文件示例:
{
"name": "John Doe",
"age": 30,
"height": null,
"weight": NaN,
}
{
"name": "Jim Hanks",
"age": NaN,
"height": NaN,
"weight": NaN,
}
现在想象有很多行,有些只包含 NaN,有些包含一些 NaN..等等
对于每一行 NaN 都必须删除 not gsubbed 或类似的东西
我尝试了使用 import math 和 isnan() 等方法,但我的函数仅将其 gsubted 为 null。 我不是一个真正的 Python 爱好者 :/
输出应该是:
{ “姓名”:“约翰·多伊”, “年龄”:30, “高度”:空, } { “姓名”:“吉姆·汉克斯”, }
感谢所有帮助
使用外部函数处理json文件怎么样?
import json
def remove_nans(obj):
if isinstance(obj, dict):
# Recursively remove NaNs from dictionary
return {key: remove_nans(value) for key, value in obj.items() if not (isinstance(value, float) and math.isnan(value))}
elif isinstance(obj, list):
# Recursively remove NaNs from list
return [remove_nans(item) for item in obj]
else:
return obj
cleaned_data = remove_nans(data)
可以帮忙
processed_data = [remove_nans(row) for row in data]
def remove_nans(obj):
return {key: value for key, value in obj.items() if value is not NaN and not (isinstance(value, float) and math.isnan(value))}