Лучший способ преобразовать csv данные в dict

У меня есть файл CSV со следующими данными

val1,val2,val3
1,2,3
22,23,33

Таким образом, как я могу преобразовать данные в dict

dict1 = { 'val1': 1, 'val2': 2, 'val3': 3}
dict2 = { 'val1': 22, 'val2': 23, 'val3': 33}
fp = open('file.csv', 'r')
reader = csv.reader(fp)
for row in reader:
    ????

Спасибо

18
задан Peter Hansen 5 March 2010 в 16:03
поделиться

2 ответа

import csv

reader = csv.DictReader(open('myfile.csv'))
for row in reader:
    # profit !
30
ответ дан 30 November 2019 в 06:39
поделиться

Использовать csv.DictReader :

Создать объект, который работает как обычный считыватель, но отображает прочитанную информацию в dict, ключи задаются необязательным параметром fieldnames . Параметр fieldnames представляет собой последовательность , элементы которой по порядку связаны с полями входных данных. Эти элементы становятся ключами результирующего словаря. Если параметр fieldnames опущен, значения в первой строке csvfile будут использоваться как имена полей . Если в прочитанной строке больше полей, чем в последовательности fieldnames, оставшиеся данные добавляются в виде последовательности с ключом значения restkey . Если в прочитанной строке меньше полей, чем в последовательности имен полей, оставшиеся ключи принимают значение необязательного параметра restval . Любые другие необязательные или ключевые аргументы передаются базовому экземпляру reader ...

16
ответ дан 30 November 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: