簡體   English   中英

將 JSON 數據轉換為數據框

[英]Convert JSON data to a Data Frame

我需要將底部的 JSON 數據作為 API 調用的響應轉換為數據框。 我需要數據如下:

   v   v   name    Age
   --------------------
0  1a  1c   sam    10
1  2a  2c   tom    40

我嘗試使用 df = pd.json_normalize(response.json(), record_path=['rows'])。 但是所有的數據都進入了很多行,只有一列。 如果我可以將 v 更改為另一個列名會有所幫助。

"rows": [
        {
            "f": [
                {
                    "v": "1a"
                },
                {
                    "v": "[{ "name" : "sam", "Age" = "10"}]"
                },
                {
                    "v": "1c"
                }
            ]
        },
        {
            "f": [
                {
                    "v": "2a"
                },
                {
                    "v": "[{ "name" : "tom", "Age" = "40"}]"
                },
                {
                    "v": "2c"
                }
                
            ]
        }
}

你一次只做一行。

import json
import pandas as pd

x = json.load( open('x.json'))
print(x)
#{'rows': [{'f': [{'v': '1a'}, {'v': '1b'}, {'v': '1c'}]}, {'f': [{'v': '2a'}, {'v': '2b'}, {'v': '2c'}]}]}

data = [[r['v'] for r in row['f']] for row in x['rows']]
print(data)
#[['1a', '1b', '1c'], ['2a', '2b', '2c']]

df = pd.DataFrame(data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM