将json数据转换为python数据帧以导出到Dbtable或另存为csv



我是python的新手。请帮我做这件事。

我在一个json文件中有以下示例json数据,有时有数千条或更多条记录

漂亮的json版本

美观json

原始数据

**{"odata.context":"https://example.com/services/api/x/odata/api/views/$metadata#vw_rpt_review_response_ecomment";,"值":[{"pr_comment_id":1."pr_comment":"测试评论";},{"pr_comment_id":2."pr_comment":"测试评论";},{"pr_comment_id":3."pr_comment":"测试评论";}],

"@odata.nextLink": "https://example.com/services/api/x/odata/api/views/$metadata#vw_rpt_review_response_comment?$skip=1000"

}{"odata.context":"https://example.com/services/api/x/odata/api/views/$metadata#vw_rpt_review_response_ecomment";,"值":[{"pr_comment_id":4."pr_comment":"测试评论";},{"pr_comment_id":5."pr_comment":"测试评论";},{"pr_comment_id":6."pr_comment":"测试评论";}],

"@odata.nextLink": "https://example.com/services/api/x/odata/api/views/$metadata#vw_rpt_review_response_comment?$skip=2000"

}**

我需要将其转换为如下数据帧,以导出到数据库表或保存为csv

数据帧

下面是我尝试的代码

import pandas as pd
import json
df = pd.read_json(r"path/output.json", lines=True)
print(df)

还有

import pandas as pd
import json
from pandas import json_normalize
info = json.loads(response)

但我得到的错误是

加载(json,precise_float=self.precise_浮点(,dtype=NoneValueError:预期的对象或值

当您在其中一个JSON条目中有一个列表时,结果是一个非标准的JSON,这就是您遇到问题的原因。如果您想创建一个带有注释id和注释的数据框架,只需在数据中迭代即可。

inter=jsonobj["value"]
ids=[]
comments=[]
for val in inter:
ids.append(val["pr_comment_id"])
comments.append(val["pr_comment"])

data=pd.DataFrame()
data["pr_comment_id"]=ids
data["pr_comment"]=comments

如果您有许多json对象,请遍历所有对象,并将数据帧声明保留到最后。

最新更新