首页 > 解决方案 > 如何清理 JSON 数据以仅将必要的列导出到 pandas 数据框?

问题描述

我有一个 json 文件(使用 json 请求拉取):

{
    "Realtime Currency Exchange Rate": {
        "1. From_Currency Code": "AUD",
        "2. From_Currency Name": "Australian Dollar",
        "3. To_Currency Code": "USD",
        "4. To_Currency Name": "United States Dollar",
        "5. Exchange Rate": "0.64871880",
        "6. Last Refreshed": "2020-05-13 10:55:40",
        "7. Time Zone": "UTC",
        "8. Bid Price": "0.64871460",
        "9. Ask Price": "0.64855470"
    }
}

我只需要从这些列中导出数据:

 1.From_Currency Code,3. To_Currency Code,5. Exchange Rate,6. Last Refreshed

数据框应如下所示:

From      To        ExchangeRate        LastRefeshed
AUD      USD        0.64871880          020-05-13 10:55:40

我试过这样做:

dfs = {k:pd.DataFrame(ast.literal_eval(x)) for k, x in df.pop('Co2').items()}

但我不知道在 df.pop 中给出什么论据

标签: pythonpandaslist

解决方案


你可以做:

df = pd.DataFrame(s).T; 

df = df[[ '1. From_Currency Code','3. To_Currency Code',
         '5. Exchange Rate','6. Last Refreshed']]

推荐阅读