Общий шаблон для этого типа абстракции данных - это список dicts, который легко переводится в JSON - массив объектов.
import pprint
headers = ['id', 'product', 'plan']
values = [
['1', 'abc', '123'],
['2', 'efg', '1234'],
['3', 'ijk', '890'],
]
list_of_dicts = [dict(zip(headers, row)) for row in values]
pprint.pprint(list_of_dicts)
выход
[{'id': '1', 'plan': '123', 'product': 'abc'},
{'id': '2', 'plan': '1234', 'product': 'efg'},
{'id': '3', 'plan': '890', 'product': 'ijk'}]