在python中将json数组按特定格式拆分为较小的数组

在python中将json数组按特定格式拆分为较小的数组,python,arrays,json,Python,Arrays,Json,我下载了一个巨大的json数组文件,需要将其拆分为较小的文件,但我需要以下格式的较小文件(数组中每个新对象的换行符):(原始json的格式也相同) 我使用了json.dump,但它只是在一行中打印较小的数组,并且使用缩进选项也没有以上述格式提供输出虽然我不知道原始json是什么样子,但您基本上希望这样 lines = [] for something in original_json: line={something['a']:something['aa']} #whatever you

我下载了一个巨大的json数组文件,需要将其拆分为较小的文件,但我需要以下格式的较小文件(数组中每个新对象的换行符):(原始json的格式也相同)


我使用了json.dump,但它只是在一行中打印较小的数组,并且使用缩进选项也没有以上述格式提供输出

虽然我不知道原始json是什么样子,但您基本上希望这样

lines = []
for something in original_json:
    line={something['a']:something['aa']} #whatever you need to do to get your  values
    lines.append(line) 
    #alternatively you can simplify this by doing lines.append({something['a']:something['aa'], etc}
with open('myfile.json', 'a+') as f1:
    f1.write("[\n")
    for line in lines:
         f1.write("%s,\n"%(line))
    f1.write("]")

是否故意没有引号?我不确定那是不是有效的json……请你解释一下为什么它必须是特定格式,而不仅仅是可读的json?@Tadhg McDonald Jensen:错过了引文,现在添加了需要更多信息。原始json看起来像什么?@AndrewSmiley原始json也采用相同的格式。是否
转储
格式与
转储
格式不同?我认为op希望示例输出的特定换行符采用间距格式。dumps的行为确实不同,但我将更新我的答案以反映上述间距。不幸的是,没有简单的方法可以获得这种格式。我认为,你需要小心括号和逗号的数量。是的,你最好做一个for循环,而不是每个for循环,这样就不会在最后一个dict项上添加额外的逗号。这又快又脏,我不想把代码交给他,而是给他指出正确的方向。
lines = []
for something in original_json:
    line={something['a']:something['aa']} #whatever you need to do to get your  values
    lines.append(line) 
    #alternatively you can simplify this by doing lines.append({something['a']:something['aa'], etc}
with open('myfile.json', 'a+') as f1:
    f1.write("[\n")
    for line in lines:
         f1.write("%s,\n"%(line))
    f1.write("]")