繁体   English   中英

Python 3.X从列表到文件写入字典

[英]Python 3.X write dictionary from list to file

我有一个这样的清单:

d = [{string1:float1,string2: float2},{string1:float3,string2:float4},...]

我试过了:

import json
with open("outputfile.txt","w") as f:
    json.dump(d,f)

那么所有内容都在一行中,例如:

[{string1:float1,string2: float2},{string1:float3,string2:float4},{string1:float5,string2:float6},...]

我想要的是为每个(key:valve)开始一个换行符,例如

[{string1:float1,
string2:float2},
{string1:float3,
string2:float4},
...
endstring:endfloat}]

我怎样才能做到这一点 ? 或者我可以将每个“,”替换为“,\\ n”? 顺序并不重要,但是如果可能的话,将获得“排序”结果。

根据https://docs.python.org/2.7/library/json.html

json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4, separators=(',', ': '))

应导致:

{
    "4": 5,
    "6": 7
}

Python 3.x解决方案是相同的。

注意使用转储而不是转储。

更新的解决方案:

for dict in d:
    with open("outputfile.txt","a") as f:
        json.dump(dict, f)
        f.write('\n')

要么

for dict in d:
    with open("outputfile.txt","a") as f:
        json.dump(dict, f, indent=4)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM