Выходные данные должны быть такими:
[{'id': '1', 'first_name': 'Heidie','gender': 'Female'}, {'id': '2', 'first_name': 'Adaline', 'gender': 'Female'}, {...}
Существует фрагмент кода, который работает с этим требованием.
with open('./test.csv', 'r') as file_read:
reader = csv.DictReader(file_read, skipinitialspace=True)
listDict = [{k: v for k, v in row.items()} for row in reader]
print(listDict)
Однако я не могу понять некоторые моменты оэтот код выше:
- Понимание списка:
listDict = [{k: v for k, v in row.items()} for row in reader]
- Как Python интерпретирует это?
- Как компилятор всегда собирает список с заголовком (
id
, first_name
, gender
) и их значения? - Как будет реализована реализация этого кода с вложенным
for
Iпрочитайте эти ответы, но я все еще не понимаю:
Мой CSV-файл:
id,first_name,last_name,email,gender
1,Heidie,Philimore,hphilimore0@msu.edu,Female
2,Adaline,Wapplington,awapplington1@icq.com,Female
3,Erin,Copland,ecopland2@google.co.uk,Female
4,Way,Buckthought,wbuckthought3@usa.gov,Male
5,Adan,McComiskey,amccomiskey4@theatlantic.com,Male
6,Kilian,Creane,kcreane5@hud.gov,Male
7,Mandy,McManamon,mmcmanamon6@omniture.com,Female
8,Cherish,Futcher,cfutcher7@accuweather.com,Female
9,Dave,Tosney,dtosney8@businesswire.com,Male
10,Torr,Kiebes,tkiebes9@dyndns.org,Male