如何在Pandas数据框中读取JSON对象

时间:2018-11-25 01:49:01

标签: python json pandas

我正在开发一种服务,该服务接收带有JSON数据包的POST请求。接收后,服务需要将此JSON对象发送到另一个方法,该方法需要将其转换为Pandas数据帧。

我知道Pandas read_json方法需要文件。但是我现在有一个文件,并且我不想写一个文件。我该如何解决?

@app.route('/data/api/json',methods=['POST'])
def getData():
    content=jsonify(request.json)
    #return content
    process(content)

def process(jsonContent):
    test = pd.read_json(jsonContent) #this will NOT work

3 个答案:

答案 0 :(得分:1)

这在某种程度上取决于JSON的结构,因此,如果所有建议均无效,请分享一个简单的JSON文件示例。对于看起来像

的文件
[{col1:foo, col2: bar},{col1:footwo, col2:bartwo}]

我通常使用

import pandas as pd
df = pd.io.json.json_normalize(data)

答案 1 :(得分:0)

您可以将字符串转换为类似文件的缓冲区:

import io
test = pd.read_json(io.StringIO(jsonContent))

答案 2 :(得分:0)

使用这个:

import pandas as pd

df = pd.json_normalize(data)