将简单JSON转换为数据帧

2024-09-27 22:22:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,我正在尝试将下面的JSON转换为panda框架

json的格式如下所示。我已经减少了列和行。大约有8列,每个json大约有20000行

{
   "DataFeed":[
      {
         "Columns":[
            {
               "Name":"customerID",
               "Category":"Dimension",
               "Type":"String"
            },
            {
               "Name":"InvoiceID",
               "Category":"Dimension",
               "Type":"String"
            },
            {
               "Name":"storeloc",
               "Category":"Dimension",
               "Type":"String"
            }
         ],
         "Rows":[
            {
               "customerID":"id128404805",
               "InvoiceID":"IN3956",
               "storeloc":"TX359"
            },
            {
               "customerID":"id128404806",
               "InvoiceID":"IN0054",
               "storeloc":"CA235"
            },
            {
               "customerID":"id128404807",
               "InvoiceID":"IN7439",
               "storeloc":"AZ2309"

            }
         ]
      }
   ]
}

我正在尝试将其加载到熊猫数据帧中。json文件中的列数相同。行数约为10000行

我正在尝试进入行,并在某些计算之后插入到表中

enter image description here

我正在尝试使用json_normalize,但我正在努力导航到行级别并在之后进行规范化。我知道这一定是一个问题解决方案,但我对使用Json还不熟悉。谢谢


Tags: name框架jsonstring格式typepandacategory
1条回答
网友
1楼 · 发布于 2024-09-27 22:22:08

使用record_path参数尝试pd.json_normalize()

注意,您需要0.25或更高

假设您的json对象是j

df = pd.json_normalize(j,record_path=['DataFeed','Rows'])
print(df)
    customerID InvoiceID storeloc
0  id128404805    IN3956    TX359
1  id128404806    IN0054    CA235
2  id128404807    IN7439   AZ2309

相关问题 更多 >

    热门问题