在此编程工作中,您的目标是从 CSV 文件构建单个字典,其中第一列作为唯一的键和第二列体现了它们相应的值。
您的初始方法使用csv.DictReader 和 csv.DictWriter 导致令人困惑的 ValueError:“解压的值太多(预期为 2)。”此问题的症结在于代码中的循环,您尝试为 CSV 文件中的每一行创建单独的字典。
要创建一个封装 CSV 文件中的键值对的字典,您可以利用 Python 令人愉快的列表理解功能。下面更正的代码片段采用了这种方法:
import csv with open('coors.csv', mode='r') as infile: reader = csv.reader(infile) mydict = {rows[0]: rows[1] for rows in reader}
或者,对于 2.7.1 之前的 Python 版本,您可以选择以下语法:
mydict = dict((rows[0],rows[1]) for rows in reader)
完成这些修改后,您的代码将优雅地构造一个单独的字典,采用 CSV 文件中的唯一键及其附带值。快乐编码和数据和谐!
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3