为什么在R中使用Data,在Python中使用相同的结果却有不同的结果

问题描述 投票:0回答:1

有不同类型的 json 输入需要转换。

输入:

示例#1:

{ "table_name": [{ "id": 1, "name": "john" },{ "id": 2, "name": "doe" }] }

示例#2:

{
  "id": [
    "1",
    "2"
  ],
  "name": [
    "john",
    "doe"
  ]
}

两个对象所需的 JSON 输出:

[{ "id": 1, "name": "john" },{ "id": 2, "name": "doe" }]

在 R 代码中,这是使用

data <- tidyr::unnest(data)
完成的。我在 pyhton 中有不同的方式,比如
pd.DataFrame.from_dict(json_data, orient = "index").transpose()
和其他一些变体,但没有运气。

python r port
1个回答
0
投票

from_dict
需要一个 Python
dict
对象。如果您想使用它,您需要首先将 JSON 转换为
dict
。但是我们可以完全跳过它并使用 pandas 内置方法直接加载 JSON:

>>> import pandas as pd
>>> from io import StringIO
>>> json_data = StringIO('[{ "id": 1, "name": "john" },{ "id": 2, "name": "doe" }]')
>>> pd.read_json(json_data)
   id  name
0   1  john
1   2   doe

出于某种原因,直接加载 JSON 文字字符串已被弃用,需要将其包装在

StringIO
对象中,如上所示。

© www.soinside.com 2019 - 2024. All rights reserved.