簡體   English   中英

如何從python字典列表創建換行符分隔的json-lines文件

[英]How to create newline delimited json-lines file from list of python dictionaries

我正在嘗試創建一個 JSON 行的數據文件,以便與 google cloud AI 平台對在線預測要求兼容。

現在我有每個數據點的字典列表。 它看起來像這樣:

data = [{'values': [0,1,0], 'key': 0}, {'values': [1,1,0], 'key': 1}]

我使用以下代碼將此數據導出到data.json

import json
json_filepath = "data.json"
with open(json_filepath, 'w') as f:
    json.dump(data, f)

問題是,這個data.json文件看起來就像我的數據(即字典列表)。 如何使這個data.json文件成為列表中每個字典的換行分隔集合? 換句話說,我怎樣才能讓它看起來像這樣:

{'values': [0,1,0], 'key': 0}
{'values': [1,1,0], 'key': 1}

您可以遍歷數組並轉儲每個對象,后跟一個新行'\\n'

with open(json_filepath, 'w') as f:
    for d in data:
        json.dump(d, f)
        f.write('\n')

或者,您可以使用json.dumpsstr.joinmap使用json.dumps

with open(json_filepath, 'w') as f:
    f.write('\n'.join(map(json.dumps, data)))
with open(json_filepath, "w") as f:
    for datum in data:
        f.write(json.dumps(datum))
        f.write("\n")

我還應該提到一般這被稱為“JSON 行”數據格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM