将嵌套的JSON读入Pandas DataFrame

时间:2018-02-20 04:15:19

标签: python pandas

如何将嵌套的JSON文件读入Pandas DataFrame?例如,考虑以下文件:

{
    "quiz": {
        "sport": {
            "q1": {
                "question": "Which one is correct team name in NBA?",
                "options": [
                    "New York Bulls",
                    "Los Angeles Kings",
                    "Golden State Warriros",
                    "Huston Rocket"
                ],
                "answer": "Huston Rocket"
            }
        },
        "maths": {
            "q1": {
                "question": "5 + 7 = ?",
                "options": [
                    "10",
                    "11",
                    "12",
                    "13"
                ],
                "answer": "12"
            },
            "q2": {
                "question": "12 - 8 = ?",
                "options": [
                    "1",
                    "2",
                    "3",
                    "4"
                ],
                "answer": "4"
            }
        }
    }
}

我试过例如:

data = json.load(open(json_file))

df = json_normalize(data['quiz'], 'sport', 'maths')

然而,返回:

enter image description here

有更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:0)

查看此主题(已接受的答案)。

'Expected String or Unicode' when reading JSON with Pandas

我认为他们的代码很干净。

每个元组中的

U表示您拥有Unicode。通常,str是以字节为单位的文本表示,而unicode是以字符表示的文本。

接受的答案将所有数据映射到它们的真实类型而不是它们的unicodes。

希望它有助于