代码之家  ›  专栏  ›  技术社区  ›  nad

如何读取熊猫数据帧中的JSON对象

  •  0
  • nad  · 技术社区  · 6 年前

    我正在开发一个接收带有JSON数据包的POST请求的服务。在接收之后,服务需要将这个JSON对象发送到另一个方法,在那里它需要将其转换为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
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   sgtbp    6 年前

    这在一定程度上取决于JSON的结构,因此如果所有建议都不起作用,请共享一个简单的JSON文件示例。对于看起来像

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

    我通常用

    import pandas as pd
    df = pd.io.json.json_normalize(data)
    
        2
  •  0
  •   DYZ    6 年前

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

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