我正在尝试从CSV文件创建字典。csv文件的第一列包含唯一键,第二列包含值。csv文件的每一行代表字典中唯一的键、值对。我尝试使用csv.DictReader和csv.DictWriter类,但是我只能弄清楚如何为每一列生成一个新的字典。我想要一个字典。下面是我尝试使用的代码:
def read_data(file_name):
data = {}
with open(file_name, "r") as f:
reader = csv.reader(f, delimiter = ',')
number_columns = len(next(reader))
for d in range (number_columns):
column_data, column_name = read_column(file_name, d)
data[column_name] = column_data
return data
我的数据:enter image description here我的预期结果:enter image description here
2条答案
按热度按时间xjreopfe1#
如果你不介意用一个2D表格来代替键值对,你可以使用panda模块,在这个模块中有一个很有用的函数to_dict(),它可以把CSV转换成字典,下面是一个例子:
nbysray52#
使用csv
DictReader
:使用从
DictReader
获取的字段名构建初始data
dict
。然后迭代行和行中的字段。对于每个字段,将字段值附加到与data
dict
中的字段名对应的列表中。