【问题标题】:JSON into Dataframe in Python - Trailing data error - Help neededJSON到Python中的数据框 - 尾随数据错误 - 需要帮助
【发布时间】:2020-09-06 06:11:59
【问题描述】:

我试图从 IJF 排名(柔道排名)中获取数据并保存到 Python 中的数据框中。

https://www.ijf.org/wrl?category=7&view=expanded

从源代码中,我得到了json中的数据,所以制作了名为“ijf_ranking.json”的空记事本,复制并粘贴了以下数据并尝试读取。但是,它显示尾随数据错误。

import pandas as pd
df = pd.read_json(r'ijf_ranking.json')

这是来自页面源代码的数据示例。

[{"id":"613_32_7","sum_points":6171,"place":1,"place_prev":1,"id_person":"613","family_name":"KRPALEK","given_name":"Lukas","gender":"male","timestamp_version":"v1559747179","id_country":"32","country_name":"Czech Republic","country_ioc_code":"cze","id_continent":"3","id_weight":"7","weight_name":"+100","score_parts":[{"points":2000,"competition":{"id":"1751","name":"World Championships Senior 2019","date_from":"2019-08-25"},"place":1,"long_place":"1. place"},{"points":500,"competition":{"id":"1837","name":"Brasilia Grand Slam 2019","date_from":"2019-10-06"},"place":3,"long_place":"3. place"},{"points":350,"competition":{"id":"1746","name":"Montreal Grand Prix 2019","date_from":"2019-07-05"},"place":3,"long_place":"3. place"},{"points":350,"competition":{"id":"1733","name":"Hohhot Grand Prix 2019","date_from":"2019-05-24"},"place":3,"long_place":"3. place"},null,{"points":1260,"competition":{"id":"1765","name":"Qingdao Masters 2019","date_from":"2019-12-12"},"place":2,"long_place":"2. place"},{"points":360,"competition":{"id":"1591","name":"World Championships Seniors Baku 2018","date_from":"2018-09-20"},"place":5,"long_place":"5. place"},{"points":350,"competition":{"id":"1584","name":"Cancun Grand Prix 2018","date_from":"2018-10-12"},"place":1,"long_place":"1. place"},{"points":350,"competition":{"id":"1601","name":"Osaka Grand Slam 2018","date_from":"2018-11-23"},"place":2,"long_place":"2. place"},{"points":350,"competition":{"id":"1695","name":"Abu Dhabi Grand Slam 2018","date_from":"2018-10-27"},"place":2,"long_place":"2. place"},{"points":175,"competition":{"id":"1725","name":"Antalya Grand Prix 2019","date_from":"2019-04-05"},"place":3,"long_place":"3. place"},{"points":126,"competition":{"id":"1735","name":"European Games Minsk 2019","date_from":"2019-06-22"},"place":5,"long_place":"5. place"}]},
{"id":"11651_13_7","sum_points":5530,"place":2,"place_prev":2,"id_person":"11651","family_name":"HARASAWA","given_name":"Hisayoshi","gender":"male","timestamp_version":"v1562956084","id_country":"13","country_name":"Japan","country_ioc_code":"jpn","id_continent":"2","id_weight":"7","weight_name":"+100","score_parts":[{"points":1400,"competition":{"id":"1751","name":"World Championships Senior 2019","date_from":"2019-08-25"},"place":2,"long_place":"2. place"},{"points":490,"competition":{"id":"1748","name":"Zagreb Grand Prix 2019","date_from":"2019-07-26"},"place":2,"long_place":"2. place"},{"points":490,"competition":{"id":"1746","name":"Montreal Grand Prix 2019","date_from":"2019-07-05"},"place":2,"long_place":"2. place"},null,null,{"points":1800,"competition":{"id":"1765","name":"Qingdao Masters 2019","date_from":"2019-12-12"},"place":1,"long_place":"1. place"},{"points":500,"competition":{"id":"1591","name":"World Championships Seniors Baku 2018","date_from":"2018-09-20"},"place":3,"long_place":"3. place"},{"points":500,"competition":{"id":"1710","name":"D\u00fcsseldorf Grand Slam 2019","date_from":"2019-02-22"},"place":1,"long_place":"1. place"},{"points":350,"competition":{"id":"1707","name":"Paris Grand Slam 2019","date_from":"2019-02-09"},"place":2,"long_place":"2. place"},null,null,null]}]

【问题讨论】:

    标签: python json pandas


    【解决方案1】:

    尝试执行以下操作: 将 json 作为字符串复制并粘贴到变量中,如下所示:

    import pandas as pd
    import numpy as np
    import json
    
    j="""[{"id":"613_32_7","sum_points":6171,"place":1,"place_prev":1,"id_person":"613","family_name":"KRPALEK","given_name":"Lukas","gender":"male","timestamp_version":"v1559747179","id_country":"32","country_name":"Czech Republic","country_ioc_code":"cze","id_continent":"3","id_weight":"7","weight_name":"+100","score_parts":[{"points":2000,"competition":{"id":"1751","name":"World Championships Senior 2019","date_from":"2019-08-25"},"place":1,"long_place":"1. place"},{"points":500,"competition":{"id":"1837","name":"Brasilia Grand Slam 2019","date_from":"2019-10-06"},"place":3,"long_place":"3. place"},{"points":350,"competition":{"id":"1746","name":"Montreal Grand Prix 2019","date_from":"2019-07-05"},"place":3,"long_place":"3. place"},{"points":350,"competition":{"id":"1733","name":"Hohhot Grand Prix 2019","date_from":"2019-05-24"},"place":3,"long_place":"3. place"},null,{"points":1260,"competition":{"id":"1765","name":"Qingdao Masters 2019","date_from":"2019-12-12"},"place":2,"long_place":"2. place"},{"points":360,"competition":{"id":"1591","name":"World Championships Seniors Baku 2018","date_from":"2018-09-20"},"place":5,"long_place":"5. place"},{"points":350,"competition":{"id":"1584","name":"Cancun Grand Prix 2018","date_from":"2018-10-12"},"place":1,"long_place":"1. place"},{"points":350,"competition":{"id":"1601","name":"Osaka Grand Slam 2018","date_from":"2018-11-23"},"place":2,"long_place":"2. place"},{"points":350,"competition":{"id":"1695","name":"Abu Dhabi Grand Slam 2018","date_from":"2018-10-27"},"place":2,"long_place":"2. place"},{"points":175,"competition":{"id":"1725","name":"Antalya Grand Prix 2019","date_from":"2019-04-05"},"place":3,"long_place":"3. place"},{"points":126,"competition":{"id":"1735","name":"European Games Minsk 2019","date_from":"2019-06-22"},"place":5,"long_place":"5. place"}]},
    {"id":"11651_13_7","sum_points":5530,"place":2,"place_prev":2,"id_person":"11651","family_name":"HARASAWA","given_name":"Hisayoshi","gender":"male","timestamp_version":"v1562956084","id_country":"13","country_name":"Japan","country_ioc_code":"jpn","id_continent":"2","id_weight":"7","weight_name":"+100","score_parts":[{"points":1400,"competition":{"id":"1751","name":"World Championships Senior 2019","date_from":"2019-08-25"},"place":2,"long_place":"2. place"},{"points":490,"competition":{"id":"1748","name":"Zagreb Grand Prix 2019","date_from":"2019-07-26"},"place":2,"long_place":"2. place"},{"points":490,"competition":{"id":"1746","name":"Montreal Grand Prix 2019","date_from":"2019-07-05"},"place":2,"long_place":"2. place"},null,null,{"points":1800,"competition":{"id":"1765","name":"Qingdao Masters 2019","date_from":"2019-12-12"},"place":1,"long_place":"1. place"},{"points":500,"competition":{"id":"1591","name":"World Championships Seniors Baku 2018","date_from":"2018-09-20"},"place":3,"long_place":"3. place"},{"points":500,"competition":{"id":"1710","name":"D\u00fcsseldorf Grand Slam 2019","date_from":"2019-02-22"},"place":1,"long_place":"1. place"},{"points":350,"competition":{"id":"1707","name":"Paris Grand Slam 2019","date_from":"2019-02-09"},"place":2,"long_place":"2. place"},null,null,null]}]"""
    
    • 别忘了使用 """

    然后

    pd.DataFrame(json.loads(j))
    
    
    
    id  sum_points  place   place_prev  id_person   family_name given_name  gender  timestamp_version   id_country  country_name    country_ioc_code    id_continent    id_weight   weight_name score_parts
    0   613_32_7    6171    1   1   613 KRPALEK Lukas   male    v1559747179 32  Czech Republic  cze 3   7   +100    [{'points': 2000, 'competition': {'id': '1751'...
    1   11651_13_7  5530    2   2   11651   HARASAWA    Hisayoshi   male    v1562956084 13  Japan   jpn 2   7   +100    [{'points': 1400, 'competition': {'id': '1751'...
    ​
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 2021-01-02
      • 2021-02-07
      • 2023-03-08
      • 1970-01-01
      • 2020-09-26
      相关资源
      最近更新 更多