我正在尝试读取文本文件并将其转换为字典列表 Python

I am trying to read a text file and turn it into a list of dictionaries Python

我需要读取文件的方式:

countries = [
{
    "name": "Venezuela",
    "capital": "Caracas"
}, {
    "name": "Bolivia",
    "capital": "Sucre"
}, {
    "name": "Argentina",
    "capital": "Buenos Aires"
}, {
    "name": "Chile",
    "capital": "Santiago"
}, {
    "name": "Colombia",
    "capital": "Bogota"
}, {
    "name": "Guyana",
    "capital": "Georgetown"
}, {
    "name": "French Guiana",
    "capital": "Cayenne"
}, {
    "name": "Paraguay",
    "capital": "Asuncion"
}, {
    "name": "Peru",
    "capital": "Lima"
}, {
    "name": "Ecuador",
    "capital": "Quito"
}, {
    "name": "Suriname",
    "capital": "Paramibo"
}, {
    "name": "Uruguay",
    "capital": "Montevideo"
}, {
    "name": "Brazil",
    "capital": "Brasilia"
}]

文本文件的设置方式:

Venezuela,Caracas
Bolivia,Sucre
Argentina,Buenos Aires
Chile,Santiago
Colombia,Bogota
Guyana,Georgetown
French Guiana,Cayenne
Paraguay,Asuncion
Peru,Lima
Ecuador,Quito
Suriname,Paramibo
Uruguay,Montevideo
Brazil,Brasilia

文本文件:

无需读取文件即可运行的当前代码

要读取文件并创建字典,您可以使用下一个示例:

countries = []
with open("SAcapitals.txt", "r") as f_in:
    for line in map(str.strip, f_in):
        # skip empty lines:
        if not line:
            continue
        name, capital = line.split(",")
        countries.append(dict(name=name, capital=capital))

print(countries)

打印:

[
    {"name": "Venezuela", "capital": "Caracas"},
    {"name": "Bolivia", "capital": "Sucre"},
    {"name": "Argentina", "capital": "Buenos Aires"},
    {"name": "Chile", "capital": "Santiago"},
    {"name": "Colombia", "capital": "Bogota"},
    {"name": "Guyana", "capital": "Georgetown"},
    {"name": "French Guiana", "capital": "Cayenne"},
    {"name": "Paraguay", "capital": "Asuncion"},
    {"name": "Peru", "capital": "Lima"},
    {"name": "Ecuador", "capital": "Quito"},
    {"name": "Suriname", "capital": "Paramibo"},
    {"name": "Uruguay", "capital": "Montevideo"},
    {"name": "Brazil", "capital": "Brasilia"},
]