Сопоставление ключей и значений в таблице

Имеется таблица с десятками столбцов.
Первая строка - заголовки, т.е. ключи.
Для каждой строки мне нужно сопоставить ключи из первой строки с заполненным значением из итерируемой.

То есть, из:

name|age|job    |color|height
Ivan|21 |teacher|red  | 180
Petr|19 |       |white| 190

хочу получить:

{name:Ivan, age:21, job:teacher,  color:red, height:180}, 
{name:Petr, age:19, color:white, height:190}

Мне абсолютно непонятно, как привязать строку ключей к строкам значений, учитывая индексы.


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь модулем Pandas:

import pandas as pd  # pip install pandas

df = pd.read_csv(filename, sep=",")
res = [{k:v for k,v in x.items() if not pd.isna(v)} for x in df.to_dict(orient="records")]

результат:

In [25]: res
Out[25]:
[{'name': 'Ivan', 'age': 21, 'job': 'teacher', 'color': 'red', 'height': 180},
 {'name': 'Petr', 'age': 19, 'color': 'white', 'height': 190}]
→ Ссылка