小ᶻ☡꙳ᵃⁱᵍᶜ꙳ 2024-09-09 22:11 采纳率: 100%
浏览 3
已结题

如何在不使用外部库(如pandas、numpy)的情况下,将一个嵌套字典列表的数据写入CSV文件?

以下嵌套字典列表:

data = [
    {"name": "Alice", "age": 30, "city": "New York"},
    {"name": "Bob", "age": 25, "city": "Los Angeles"},
    {"name": "Charlie", "age": 35, "city": "Chicago"}
]

要求将数据写入CSV文件,每一行对应一个字典的值。请详细描述如何处理数据,并展示完整的Python代码。

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-09 22:12
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要将嵌套字典列表的数据写入CSV文件,我们可以使用Python内置的csv模块。以下是一个简单的示例代码,展示了如何将给定的嵌套字典列表写入CSV文件:

    import csv
    
    # 嵌套字典列表
    data = [
        {"name": "Alice", "age": 30, "city": "New York"},
        {"name": "Bob", "age": 25, "city": "Los Angeles"},
        {"name": "Charlie", "age": 35, "city": "Chicago"}
    ]
    
    # 定义CSV文件的字段名(这是字典中的键)
    fieldnames = ['name', 'age', 'city']
    
    # 打开文件以写入,使用newline=''避免空行
    with open('output.csv', 'w', newline='', encoding='utf-8') as file:
        writer = csv.DictWriter(file, fieldnames=fieldnames)
        
        # 写入表头
        writer.writeheader()
        
        # 遍历数据列表,将每个字典写入CSV文件的一行
        for item in data:
            writer.writerow(item)
    

    这段代码做了以下几件事:

    1. 定义了一个嵌套字典列表data
    2. 定义了一个包含所有字段名的列表fieldnames,这些字段名对应于字典中的键。这是为了告诉csv模块如何组织数据。
    3. 使用csv.DictWriter打开一个文件以写入模式,并指定字段名。这里我们使用了output.csv作为文件名。注意,这里使用了newline=''来避免在输出文件中出现额外的空行。
    4. 使用writer.writeheader()写入CSV文件的表头(即字段名)。
    5. 通过遍历数据列表,使用writer.writerow()方法将每个字典写入CSV文件的一行。由于使用的是DictWriter,它会根据字典的键自动将数据写入相应的列。这样,每个字典都会成为CSV文件中的一行。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月9日
  • 已采纳回答 9月9日
  • 创建了问题 9月9日