如何从csv打印json数据

2024-04-28 21:51:36 发布

您现在位置:Python中文网/ 问答频道 /正文

[{"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": ""}

Tags: csvtonamejsondatajarrowluke
2条回答

我猜你想要漂亮地打印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": ""
    }
]

使用json.dumps(json_对象,缩进=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)

相关问题 更多 >