Tre*_*ury 4 python json python-3.x
我正在尝试创建一个 JSON 行的数据文件,以便与 google cloud AI 平台对在线预测的要求兼容。
现在我有每个数据点的字典列表。它看起来像这样:
data = [{'values': [0,1,0], 'key': 0}, {'values': [1,1,0], 'key': 1}]
Run Code Online (Sandbox Code Playgroud)
我使用以下代码将此数据导出到data.json:
import json
json_filepath = "data.json"
with open(json_filepath, 'w') as f:
json.dump(data, f)
Run Code Online (Sandbox Code Playgroud)
问题是,这个data.json文件看起来和我的数据完全一样(即字典列表)。如何使这个data.json文件成为列表中每个字典的换行分隔集合?换句话说,我怎样才能让它看起来像这样:
{'values': [0,1,0], 'key': 0}
{'values': [1,1,0], 'key': 1}
Run Code Online (Sandbox Code Playgroud)
MrG*_*eek 12
您可以遍历数组并转储每个对象,后跟一个新行'\n':
with open(json_filepath, 'w') as f:
for d in data:
json.dump(d, f)
f.write('\n')
Run Code Online (Sandbox Code Playgroud)
或者,你可以用用一行代码json.dumps,str.join以及map:
with open(json_filepath, 'w') as f:
f.write('\n'.join(map(json.dumps, data)))
Run Code Online (Sandbox Code Playgroud)