【问题标题】:I am trying to read a text file and turn it into a list of dictionaries Python我正在尝试读取文本文件并将其转换为 Python 字典列表
【发布时间】:2021-10-04 06:49:09
【问题描述】:

我需要读取文件的方式:

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

文本文件:

无需读取文件即可工作的当前代码

【问题讨论】:

    标签: arrays dictionary append


    【解决方案1】:

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

    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"},
    ]
    

    【讨论】:

    • 这是完美的。我已经尝试过很多其他方法。非常感谢!
    猜你喜欢
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2023-03-15
    相关资源
    最近更新 更多