我的脚本运行正常。唯一的问题是写入我的Json文件。 它将所有字典转储到第一行(第一行)
这是我尝试的:
data = [{'name' : 'Jan', 'age' : '30'}, {'name' : 'Peter', 'age' : '45'}, {'name' : 'Kees', 'age' : '50'}]`
`with open("data_file.json", "w") as write_file:
for d in data:
json.dump(data, write_file)
我希望输出:
1 [
2 {"name": "Jan", "age": "30"},
3 {"name": "Peter", "age": "45"},
4 {"name": "Kees", "age": "50"}
5 ]
但是我实际上得到了:
1 [{"name": "Jan", "age": "30"}, {"name": "Peter", "age": "45"}, {"name": "Kees", "age": "50"}]
2
3
4
5
我想了解如何做我期望的事情。
答案 0 :(得分:0)
您可以使用以下命令在json中添加缩进:
json.dump(data, write_file, indent=1)
这将使您的json更具可读性
输出将是:
[
{
"name": "Jan",
"age": "30"
},
{
"name": "Peter",
"age": "45"
},
{
"name": "Kees",
"age": "50"
}
]
这是我能想到的最接近的方式
答案 1 :(得分:-1)
您可以使用pprint库漂亮地打印列表。
from pprint import pprint
d = [{'name' : 'Jan', 'age' : '30'}, {'name' : 'Peter', 'age' : '45'}, {'name' : 'Kees', 'age' : '50'}]
pprint(d)
#Output:
[{'age': '30', 'name': 'Jan'},
{'age': '45', 'name': 'Peter'},
{'age': '50', 'name': 'Kees'}]