簡體   English   中英

將json寫入文件Python 3

[英]Write json into file Python 3

我正在嘗試將JSON數據寫入正在一行中寫入的文件,如下所示:

{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}

我的代碼如下:

with open(file_name, 'w') as file:
            for data in results:
                saveData = {}
                for k,v in data.items():
                    if v:
                        saveData[k] = v
                    else:
                        saveData[k] = ''
                print (json.dumps(saveData))
                file.write(json.dumps(saveData, ensure_ascii=False))
        file.close()

我需要的是以下格式:

{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}
{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}

我從StackOverflow的各種答案中嘗試了幾種方法,但是,我無法獲得它? 有什么辦法嗎?

使用json_dump

j_data = {"AbandonmentDate": "", "Abstract": "", "Name": "ABC"},{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}

import json
with open('j_data_file.json', 'w') as outfile:
    json.dump(j_data, outfile,indent=4)

輸出

[
    {
        "AbandonmentDate": "",
        "Abstract": "",
        "Name": "ABC"
    },
    {
        "AbandonmentDate": "",
        "Abstract": "",
        "Name": "ABC"
    }
]

編輯

如果您確實希望將元素打印在新行上,請遍歷數據:

j_data = {"AbandonmentDate": "", "Abstract": "", "Name": "ABC"},{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}

import json
with open('j_data_file.json', 'w') as outfile:
    for elem in j_data:
        json.dump(elem, outfile)
        outfile.write('\n')

輸出

{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}
{"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}

假設您的json像這樣:

yourjson = [
    {"AbandonmentDate": "", "Abstract": "", "Name": "ABC"},
    {"AbandonmentDate": "", "Abstract": "", "Name": "ABC"}
]

那么您只需要這樣做:

with open("outfile.txt", "w") as pf:
    for obj in yourjson:
        pf.write(json.dumps(obj) + "\n")

暫無
暫無

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

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