我正在尝试使用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,”country_code3“:”xyz“,”country_name“:”qazwsx“,”postal_code“:null,”dma_code“:null,”country_code“:”yy“,”latitude“:1.11111},”timestamp “:”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,”经度“: 222.3456,“country_code3”:“xyz”,“country_name”:“qazwsx”,“postal_code”:null,“dma_code”:null,“country_code”:“yy”,“latitude”:1.11111},“timestamp”:“ XXXXX“,”域“:[],”org“:”DDDD“,”data“:”单位ID:0 \ n--从属ID数据:\ t()\ n \ n单位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次数据,则它可以正常工作,并且当它有多次出现时会失败。
如何修改代码以使其适用于多次出现的数据?
答案 0 :(得分:1)
如果日期文件只包含1次数据,则它可以正常工作,并且当它有多次出现时会失败。
如果你的意思是
{"_abcd": ...} {"_abcd": ...} {"_abcd": ...}
这是无效的JSON。要使其有效,请将这些对象包装在一个数组中,其中开头为[
,中间为逗号,最后为]
:
[ {"_abcd": ...}, {"_abcd": ...}, {"_abcd": ...} ]