Я работаю над программой, которая (среди прочего) читает CSV файл (он хранится в виде массива dicts в форме [{col1:data1a,col2:data2a},{col1:data1b,col2:data2b}]
). Для каждой строки, как части другой обработки, мне нужно переназначить эти ключи на введенные пользователем значения, которые предоставляются в другом dict, чтобы их можно было использовать в качестве параметров в вызове API. Массив отображения имеет вид: {badname1:goodname1, badname2:goodname2,...}
.
Итак, я хотел бы получить от:
{badname1:data1, badname2:data2,...}
до {goodname1:data1, goodname2:data2,...}
Я хотел бы использовать что-то вроде zip()
(хотя zip()
дает {badname1:badname1,...}
).
Похоже, должно быть очевидное решение, которое намекает на меня.
EDIT:
Если данные находятся в a
и отображение в b
:
dict(zip(b,a.itervalues()))
Я приближаюсь, но он будет работать только в тех случаях, когда известно, что поля находятся в том же порядке, что и я.