我有一个csv文件结构如下:
+------+------+--------+
| name | pos | eff |
+------+------+--------+
| a | 1 | 10.0 |
| b | 1 | 42 |
| c | 1 | 123 |
+------+------+--------+
键值对应如下所示,使用元组:
hash = ('a', 1): [10.0]
到目前为止我已经
了import csv
csv_dictionary = {}
with open('test.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
csv_dictionary[row['name']]= row['eff']
csv_dictionary[row['pos']] = row['eff']
但这似乎给每个值多个键。 csv文件是否需要每列中的唯一元素?
如何为name
和pos
与eff
关联制作元组?
答案 0 :(得分:2)
如果您手动运行代码,您会看到csv_dictionary[row['name']]
和csv_dictionary[row['pos']]
是独立的声明。在您的示例中,如果您在第0行运行代码,它会为您提供csv_dictionary
{"a": "10.0", "1": "10.0"}
。
如果你想把元组作为键,你需要使用一个元组:csv_dictionary[row['name'], row['pos']] = row['eff']