snowflake-cloud-data-platform - 当 Parse_Json 尝试解析 "NaN"值时给出无效值,该值是 pandas datafram 中的空值

标签 snowflake-cloud-data-platform nan

    select
parse_json('{"fullName":"Niks",
      "age":15,
      "address": {
            "areaCode":"1234",
                },
       "state": NaN ,
      "movies": [
          {"name":"Iron Man","budget":"$150M","producer":"Avi"},
          {"name":"Sherlock Holmes","budget":"$200M","producer":"Joel Silver"},]}');

Img show the invalid json

在解析雪花中具有 NaN 值的 JSON 时遇到问题。它说无效的 JSON,因此我们无法正确解析或使用 JSON 函数,尤其是在操作时。

目前,我们尝试过

当 x = 'NaN' 时为 NULL,否则 x 结束。

但这只是解决问题的临时方法。有没有其他方法/雪花功能可以帮助我。 ?

注意:我尝试过 try_parse_json,但问题仍然存在。

最佳答案

您的 JSON 数据无效,只需检查任何 JSON 验证器,它就会抛出错误,并且其行为与屏幕截图中显示的行为相同。您的 json 文档有以下错误

enter image description here

修复逗号和引号后的有效 json。

create
    or replace table vartab (n number(2), v variant);

insert into
    vartab
select
    column1 as n,
    parse_json(column2) as v
from
values
    (
        1,
        '{
   "fullName":"Niks",
   "age":15,
   "address":{
      "areaCode":"1234"
   },
   "state":"NaN",
   "movies":[
      {
         "name":"Iron Man",
         "budget":"$150M",
         "producer":"Avi"
      },
      {
         "name":"Sherlock Holmes",
         "budget":"$200M",
         "producer":"Joel Silver"
      }
   ]
}'
    ) as vals;
Select
    *,
    v:state
from
    vartab;
   

enter image description here

关于snowflake-cloud-data-platform - 当 Parse_Json 尝试解析 "NaN"值时给出无效值,该值是 pandas datafram 中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71253781/

相关文章:

snowflake-cloud-data-platform - volatile |雪花中的不可变行为

matlab - 使用 NaN 在矩阵上运行 kmeans 函数?

python - 将 pandas 数据框保存为不带 NaN 的单独 json

snowflake-cloud-data-platform - Snowflake 管道 - 不同用户需要什么权限才能使用其余 API/insertReport

Python SQLAlchemy 以小写形式导入表名 (Snowflake)

python - 在包含整数和字符串混合的数据框中查找最小/最大值

python - 替换数据框中的 NaN 索引值

flutter - 如何在单元测试中比较NaN和NaN是否相等

sql - Snowflake 使用 JSON (VARIANT) 字段创建 View 作为具有动态键的列

sql - 将文本数组从 Postgres 复制到雪花