[英]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.