【问题标题】:How to read JSON file that contains list of dictionaries into pandas data frame?如何将包含字典列表的 JSON 文件读入熊猫数据框中?
【发布时间】:2016-04-14 23:32:28
【问题描述】:

我有一个 JSON 文件中的字典列表,如下所示:

[{"url": "http://www.URL1.com", "date": "2001-01-01"}, 
 {"url": "http://www.URL2.com", "date": "2001-01-02"}, ...]

但我正在努力将其导入 pandas 数据框——这应该很容易,但我对此一无所知。任何人都可以在这里设置我吗?

同样,将它读入字典列表以在 python 中使用的最佳方法是什么?

【问题讨论】:

    标签: python json pandas


    【解决方案1】:

    虽然from_dict 可以在这里工作,但规定的方法是将pd.read_jsonorient='records' 一起使用。这会解析一个输入

    类似列表的[{column -> value}, ... , {column -> value}]

    例子:说这是lis.json的文字:

    [{"url": "http://www.URL1.com", "date": "2001-01-01"}, 
     {"url": "http://www.URL2.com", "date": "2001-01-02"}]
    

    将文件路径本身作为输入而不是@jezrael 的答案中的列表传递:

    print(pd.read_json('lis.json', orient='records'))
            date                  url
    0 2001-01-01  http://www.URL1.com
    1 2001-01-02  http://www.URL2.com
    

    【讨论】:

      【解决方案2】:

      你可以使用from_dict:

      import pandas as pd
      
      lis = [{"url": "http://www.URL1.com", "date": "2001-01-01"}, 
             {"url": "http://www.URL2.com", "date": "2001-01-02"}]
      
      print pd.DataFrame.from_dict(lis)
      
               date                  url
      0  2001-01-01  http://www.URL1.com
      1  2001-01-02  http://www.URL2.com
      

      或者你可以使用DataFrame构造函数:

      import pandas as pd
      
      lis = [{"url": "http://www.URL1.com", "date": "2001-01-01"}, {"url": "http://www.URL2.com", "date": "2001-01-02"}]
      
      print pd.DataFrame(lis)
      
               date                  url
      0  2001-01-01  http://www.URL1.com
      1  2001-01-02  http://www.URL2.com
      

      【讨论】:

        猜你喜欢
        • 2021-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多