python - 字典仅打印并保存最后一项

标签 python python-3.x csv

我有一个问题,当我尝试打印 csv 文件的所有行时,字典仅保存并打印最后一行。我试图找出我做错了什么,我希望找到答案。

import csv

data = open(r"C:\Desktop\file.csv")
dataReader = csv.reader(data, delimiter = ";")
count = 0
for row in dataReader:
    bookList= dict()
    bookList[row[0]]= row[1]
    print(row)
for k,v in bookList.items():
        print(k,v)

最佳答案

出现问题的原因是您为循环的每次迭代创建了一个新的字典实例。在开始时、循环之前创建一次:

import csv
data = open(r"C:\Desktop\file.csv")
dataReader = csv.reader(data, delimiter = ";")
count = 0
bookList = dict()
for row in dataReader:
    bookList[row[0]]= row[1]
    print(row)
for k,v in bookList.items():
        print(k,v)

关于python - 字典仅打印并保存最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59812729/

相关文章:

python - 如何确定嵌套列表中的所有元素是否唯一?

python-3.x - 将列表项的极坐标列水平分解为新列

c# - 在 ASP .NET MVC 中的页面请求之间存储来自解析的 CSV 文件的数据

python - 使用 Python 的 CSV 模块覆盖 csv 文件中的特定行

python - sqlalchemy.exc.ResourceClosedError : This Connection is closed when inserting after select 错误

python - POST curl 返回错误请求 400(flask,RESTful)

python - 我在哪里可以找到 QGIS 的所有 python 函数的概述

python - 在 Excel 工作表中查找填充内容的范围

sql - 如何使用 sql 向 csv 文件添加新的换行符?

Python tkinter 未完成绘图