首页 >后端开发 >Python教程 >如何从键值对的 CSV 文件高效创建单个字典?

如何从键值对的 CSV 文件高效创建单个字典?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-19 06:18:03516浏览

How Can I Efficiently Create a Single Dictionary from a CSV File of Key-Value Pairs?

从由唯一键值对组成的 CSV 文件创建统一字典

处理 CSV 文件时,一项常见任务是创建字典,其中每一行代表一个唯一的键值对。虽然“csv.DictReader”类提供了一种方便的方法来逐行迭代此类文件,但创建统一的字典需要不同的方法。

提供的代码尝试在嵌套循环中构造字典,由于尝试解压多个值而只有两个预期值,导致“ValueError”。要解决此问题,应稍微修改语法:

Python 3:

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    with open('coors_new.csv', mode='w') as outfile:
        writer = csv.writer(outfile)
        mydict = {rows[0]: rows[1] for rows in reader}

Python 2:

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    with open('coors_new.csv', mode='w') as outfile:
        writer = csv.writer(outfile)
        mydict = dict((rows[0], rows[1]) for rows in reader)

此修改后的语法可以正确迭代 CSV文件,从每一行的第一列中提取键,从第二列中提取值。结果是一个字典,其中键是唯一的并且来自第一列,值来自第二列。这种方法将所有键值对合并到一个综合字典中。

以上是如何从键值对的 CSV 文件高效创建单个字典?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn