如何从csv中打印出json数据


[{"Name": "Luke Skywalker", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Darth Vader", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Obi-Wan Kenobi", "Affiliation": "Jedi", "Allegiance": "TO THE REPUBLIC, TO DEMOCRACY!"}, {"Name": "Anakin Skywalker", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Yoda", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Palpatine", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Qui-Gon Jinn", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Jar Jar Binks", "Affiliation": "N/A", "Allegiance": "Possible Sith"}, {"Name": "Darth Maul", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Mace Windu", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Ki-Adi-Mundi", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Kit Fisto", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Eeth Koth", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Plo Koon", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Dooku", "Affiliation": "Sith", "Allegiance": ""}]

上面我得到的输出就是我用代码得到的:

data = []
with open('starwrs.csv') as f:
for row in csv.DictReader(f):
data.append(row)
json_data = json.dumps(data)
return json_data

但是我如何获得它,使它看起来像实际的json数据,就像直接在彼此下面一样,而不是我获得的字符串

[{"Name": "Luke Skywalker", "Affiliation": "Jedi", "Allegiance": ""}, 
{"Name": "Darth Vader", "Affiliation": "Sith", "Allegiance": ""}

使用json.dumps(json_object,indent=2(。。。

import json
json_data='[{"Name": "Luke Skywalker", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Darth Vader", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Obi-Wan Kenobi", "Affiliation": "Jedi", "Allegiance": "TO THE REPUBLIC, TO DEMOCRACY!"}, {"Name": "Anakin Skywalker", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Yoda", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Palpatine", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Qui-Gon Jinn", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Jar Jar Binks", "Affiliation": "N/A", "Allegiance": "Possible Sith"}, {"Name": "Darth Maul", "Affiliation": "Sith", "Allegiance": ""}, {"Name": "Mace Windu", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Ki-Adi-Mundi", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Kit Fisto", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Eeth Koth", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Plo Koon", "Affiliation": "Jedi", "Allegiance": ""}, {"Name": "Dooku", "Affiliation": "Sith", "Allegiance": ""}]'
json_object = json.loads(json_data)
json_formatted_str = json.dumps(json_object, indent=2)
print(json_formatted_str)

我想您想漂亮地打印json。如果是这样的话,使用这个

json_data = json.dumps(data, indent=4)
print(json_data)

json.dumps中的缩进有助于创建缩进,使json看起来像格式化的

[
{
"Name": "Luke Skywalker",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Darth Vader",
"Affiliation": "Sith",
"Allegiance": ""
},
{
"Name": "Obi-Wan Kenobi",
"Affiliation": "Jedi",
"Allegiance": "TO THE REPUBLIC, TO DEMOCRACY!"
},
{
"Name": "Anakin Skywalker",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Yoda",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Palpatine",
"Affiliation": "Sith",
"Allegiance": ""
},
{
"Name": "Qui-Gon Jinn",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Jar Jar Binks",
"Affiliation": "N/A",
"Allegiance": "Possible Sith"
},
{
"Name": "Darth Maul",
"Affiliation": "Sith",
"Allegiance": ""
},
{
"Name": "Mace Windu",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Ki-Adi-Mundi",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Kit Fisto",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Eeth Koth",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Plo Koon",
"Affiliation": "Jedi",
"Allegiance": ""
},
{
"Name": "Dooku",
"Affiliation": "Sith",
"Allegiance": ""
}
]

最新更新