Вы можете создать список списков всех значений, разделив на \n
, а затем ,
Затем вы можете zip
ключи с каждым подсписком значений, чтобы создать свой список словарей
Следовательно, код будет
data = b'ra1,rb1,rc1\nra2,rb2,rc2\nra3,rb3,rc3\nra4,rb4,rc4'
keys = ['field1', 'field2', 'field3']
#Create list of lists for values
values = [ item.split(',') for item in data.decode('utf-8').splitlines() ]
#[['ra1', 'rb1', 'rc1'], ['ra2', 'rb2', 'rc2'], ['ra3', 'rb3', 'rc3'], ['ra4', 'rb4', 'rc4']]
#Create result dictionary by zipping keys and values
result = [dict(zip(keys, value)) for value in values]
print(result)
И вывод будет
[{'field1': 'ra1', 'field2': 'rb1', 'field3': 'rc1'},
{'field1': 'ra2', 'field2': 'rb2', 'field3': 'rc2'},
{'field1': 'ra3', 'field2': 'rb3', 'field3': 'rc3'},
{'field1': 'ra4', 'field2': 'rb4', 'field3': 'rc4'}]