如何将数据帧数据作为json非数组对象写入json文件?

时间:2017-10-26 15:58:03

标签: python json jsonlines

我在Pandas数据帧中有数据,我可以通过调用将数据帧数据写入JSON文件:

df.to_json('filepath', orient='records')

这将数据作为JSON对象的数组写入json文件。

  

[{" col 1":" a"," col 2":" b"},{" col 1":" c"," col 2":" d"}]

我希望json文件中的数据如下所示,即只有逗号分隔的JSON对象没有数组

  

{" col 1":" a"," col 2":" b"},{" col 1& #34;:" c"," col 2":" d"}

非常感谢任何帮助。我是python的新手,无法找到方法。谢谢。

1 个答案:

答案 0 :(得分:1)

啊,你想要一个JSON line文件。你可以用类似的方式做到这一点。调用to_dict并循环写入文件。

with open('file.json', 'w') as f:
    for x in df.to_dict(orient='r'):
        f.write(json.dumps(x) + '\n')

或者,在循环中调用to_json

with open('file.json', 'w') as f:
    for _, r in df.iterrows():
        r.to_json(f); f.write('\n')