【问题标题】:Pretty Print multiple occurrences of JSON data in a file to an output file将文件中多次出现的 JSON 数据打印到输出文件
【发布时间】:2016-08-26 23:51:58
【问题描述】:

我正在尝试使用 pprint 函数漂亮地打印以下数据多次出现的 JOSN 数据文件。

数据文件的内容

{"_abcd": {"options": {}, "module": "xxxx", "crawler": "1234567890"}, "hash": 1048951621, "os": null, "ip": sgdgdfd , "isp": "ASGSFDF", "port": YYY, "hostnames": [], "location": {"city": "rtyf", "region_code": "00", "area_code": null, "经度”:111.23344,“国家代码3”:“xyz”,“国家名称”:“qazwsx”,“邮政编码”:空,“dma_code”:空,“国家代码”:“yy”,“纬度”:1.11111},“时间戳” ": "XXXXX", "domains": [], "org": "FFFFF", "data": "单元 ID: 0\n-- 从站 ID 数据: \t()\n\n单元 ID: 255\ n-- 从站 ID 数据:\t()\n\n", "asn": "44444", "transport": "tcp", "ip_str": "1.2.3.4"} {"_abcd": {"options": {}, "module": "yyyy", "crawler": "999999"}, "hash": 35473835, "os": null, "ip": sgdgdfd, "isp ": "TYUUF", "port": YYY, "hostnames": [], "location": {"city": "wewd", "region_code": "00", "area_code": null, "longitude": 222.3456,“country_code3”:“xyz”,“country_name”:“qazwsx”,“postal_code”:null,“dma_code”:null,“country_code”:“yy”,“latitude”:1.11111},“timestamp”:“ XXXXX", "domains": [], "org": "DDDD", "data": "Unit ID: 0\n-- 从站 ID 数据: \t()\n\nUnit ID: 255\n--从站 ID 数据:\t()\n\n", "asn": "44444", "transport": "tcp", "ip_str": "4.3.2.1"} ...更多与上述相同的数据

我在这个论坛找到了代码并修改它以将输出写入文件:

import json
from pprint import pprint

with open('data.json') as data_file:    
data = json.load(data_file)

with open('outfile.json,'w') as data_out

pprint(data,stream=data_out)

如果日期文件只包含 1 次出现的数据,它会正常工作,并且在出现多次时会失败。

如何修改代码以使其适用于多次出现的数据?

【问题讨论】:

  • 当您提出问题时,文本区域右侧有一个橙色的大如何格式化框,其中包含有用的信息。还有一个完整的格式化辅助工具栏。还有一个 [?] 按钮提供格式化帮助。 一个预览区域,位于文本区域和发布您的问题按钮(这样您就必须扫描过去才能找到该按钮)显示您的帖子发布后的样子。使您的帖子清晰,并证明您花时间这样做,可以提高您获得好答案的机会。

标签: json


【解决方案1】:

如果日期文件只包含 1 次出现的数据,它会正常工作,并且在出现多次时会失败。

如果你的意思是你有

{“_A B C D”: ...} {“_A B C D”: ...} {“_A B C D”: ...}

这是无效的 JSON。为了使其有效,您将这些对象包装在一个数组中,[ 开头,逗号中间,] 结尾:

[ {“_A B C D”: ...}, {“_A B C D”: ...}, {“_A B C D”: ...} ]

【讨论】:

    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2014-05-01
    • 2020-09-03
    相关资源
    最近更新 更多