У меня есть файл CSV, и я пытаюсь создать вложенный словарь, который выглядит следующим образом:
contacts = {"Tom": {"name": "Tom Techie",
"phone": "123 123546",
"email": "tom@tom.fi",
"skype": "skypenick"},
"Mike": {"name": "Mike Mechanic",
"phone": "000 123546",
"email": "mike@mike.fi",
"skype": "-Mike-M-"}}
и т. Д.
И вот что я написал:
file = open("csv","r")
d = {}
for i in file:
f = i.strip()
x = f.split(";")
if x[4] != "":
d.update({x[0] : {"name":x[1],
"phone":x[2],
"email":x[3],
"skype":x[4]}})
else:
d.update ({x[0] : {"name": x[1],
"phone": x[2],
"email": x[3]}})
Однако он печатает dict как обычный словарь с обновлениями в качестве ключей, когда они должны быть такими, как указано выше.
EDIT: Первые строки csv:
key;name;phone;email;skype
Tom;Tom Techie;123 123546;tom@tom.fi;skypenick
Mike;Mike Mechanic;000 123456;mike@mike.fi;-Mike-M-
Archie;Archie Architect;050 987654;archie@archie