Это почти то же самое из моего вчерашнего вопроса.Но я считал само собой разумеющимся использование уникального списка значений для создания вложенной структуры dict & list.Но затем я пришел к вопросу о том, как построчно строить эту структуру dict & list (см. Структуру данных) из данных Excel.
Все файлы Excel (несколько файлов в папке) выглядят так:следующее:
Category Subcategory Name
Main Dish Noodle Tomato Noodle
Main Dish Stir Fry Chicken Rice
Main Dish Soup Beef Goulash
Drink Wine Bordeaux
Drink Softdrink Cola
Моя желаемая структура структуры dict & list:
data = [0:{'data':0, 'Category':[
{'name':'Main Dish', 'Subcategory':[
{'name':'Noodle', 'key':0, 'data':['key':1, 'title':'Tomato Noodle']},
{'name':'Stir Fry', 'key':1, 'data':['key':2, 'title':'Chicken Rice']},
{'name':'Soup', 'key':2, 'data':['key':3, 'title':'Beef Goulash']}]},
{'name':'Drink', 'Subcategory':[
{'name':'Wine', 'key':0, 'data':['key':1, 'title':'Bordeaux']},
{'name':'Softdrink', 'key':1, 'data':['key':2, 'title':'cola'}]}]},
1:{'data':1, 'Category':.........#Same structure as dataset 0}]
Итак, для каждого файла Excel все нормально, просто выполните цикл и установите {'data':0, 'Category':[]}, {'data':1, 'Category':[]}
и так далее.Ключом является то, что для каждого значения Category
и Subcategory
, Main Dish
имеет три записи в Excel, но требует только 1 в структуре данных, а Drink
имеет две записи в Excel, но только 1 в структуре данных.,Для каждой подкатегории, вложенной в список категорий, они следуют одному и тому же правилу, в категорию должны быть вложены только уникальные значения.Затем, каждый соответствующий Name
блюд, они входят в структуру данных в зависимости от их категории и подкатегории.
Проблема в том, что я не могу найти лучший способ преобразовать данные в эту структуру данных.Кроме того, после столбца Name
есть другие столбцы.Так что это довольно сложно.Я думал сначала извлечь уникальные значения из всего столбца категории и подкатегории, это упрощает процесс, но приводит к проблемам при заполнении соответствующих значений имени.Если я делаю это с построчным подходом, то разработка существующей подкатегории if или тест на выход из категории для сохранения уникальных значений, как-то сложно, исходя из моих текущих навыков программирования ...
Поэтому, что будетлучший подход для преобразования этого файла Excel в такую структуру данных?Большое спасибо.