我正在尝试将字典中的3个条目分别写入一个json文件中,最终我将与Pandas一起使用。
每本词典都是这样的:
xyz_dictionary = {'x': 1, 'y': 2, 'z':3}
我正在执行以下操作,将其转换为字符串,然后将其添加到.json
文件中:
with open('jsonfile.json', 'a') as json_file:
json_file.write(json.dumps(xyz_dictionary, indent=4))
我的处境是不断创建新的“xyz”字典,因此我必须将每个字典转换为json格式,然后将其附加到json文件中。问题是,在我完成之后,我的json文件最终看起来像这样:
{
"x": -0.03564453125,
"y": -0.00830078125,
"z": 1.0244140625
}{
"x": -0.0361328125,
"y": -0.0087890625,
"z": 1.0244140625
}{
"x": -0.0390625,
"y": -0.0087890625,
"z": 1.025390625
}{
"x": -0.03662109375,
"y": -0.0087890625,
"z": 1.0263671875
}
其中json对象不是逗号分隔的。当我尝试用Pandas加载时,我得到一个trailing Data
ValueError
正如您所看到的,它不是一个包含大量json对象的大数组,它只是一堆非逗号分隔的json对象
总之,问题是“我如何创建逗号分隔的json对象,并将它们写入.json
文件,该文件是所有对象的汇编?”
谢谢你
3条答案
按热度按时间gdrx4gfi1#
**edit:**我建议您创建一个json对象数组
使用append添加到dic
读取文件的步骤
wecizke32#
我建议你阅读文件,附加新数据,然后写回来。然后,您可以将其正确加载到Pandas中。
这是未经测试的,因为我不在我的工作站上,但希望它能让概念得到理解。如果有任何错误,请告诉我!
干杯
k97glaaz3#
如果您想将新数据添加到与Pandas兼容的json中,您将面临这样一个事实:to_csv中没有
mode="a"
。然而,我们仍然可以轻松且高效地将 Dataframe 附加到JSON。只需在to_json
方法中使用orient='records', lines=True
。然后,您可以以相同的方式读取整个数据集。