Чтение аргументов ключевых слов из файла CSV
Я написал функцию, которая выглядит следующим образом:
def func(id, list, **kwargs):
return
где id - это идентификатор группы, list - некоторая задача, которую нужно выполнить, а аргумент ключевого слова - дополнительная задача, которая может иметь или не иметь. Поэтому каждый раз, когда функция запускается, она вызывает что-то вроде:
func(18, [1,3], task_a = ['x'], task_b=['y', 'z'])
Мне нужно зациклить все идентификаторы группы. Хитрость заключается в том, что каждая группа может иметь разное количество и имена ключевых аргументов. Конечный пользователь хочет дать мне список в CSV-файле, но я не уверен, что является лучшим форматом и как я должен прочитать данные и передать их в свою функцию. Например, для идентификатора группы и списка, я могу иметь что-то вроде этого в CSV:
groupid list
18 [1,3]
23 [1,4,8]
но где и как я должен хранить ключевые аргументы? Я не могу сохранить каждую задачу в виде столбца, потому что groupid использует другой аргумент ключевого слова. Это почти как если бы я хотел написать ОДИН столбец csv как словарь сам по себе:
groupid list keyword
18 [1,3] task_a: ['x']; task_b:['y', 'z']
23 [1,4,8] task_c: ['j']
Итак, как мне попросить конечных пользователей хранить их и как мои панды-питоны могут их читать и преобразовывать в аргументы ключевых слов для моей функции?