У меня есть эти очень сложные файлы данных, которые я обработал, и по мере обработки каждого файла я использовал упорядоченный документ для захвата ключей и значений. Каждый упорядоченныйDictionary добавляется в список, поэтому мой конечный результат - список словарей. Из-за разнообразия данных, записанных в этих файлах, у них много общих ключей, но есть достаточно необычных ключей, чтобы сделать экспорт данных в Excel более сложным, чем я надеялся, потому что мне действительно нужно выталкивать данные в последовательном состав.Как я могу сортировать сложный ключ словаря
Каждый ключ имеет структуру, как
Q_#_SUB_A_COLUMN_#_NUMB_#
так, например, у меня есть
Q_123_SUB_D_COLUMN_C_NUMB_17
Мы можем перевести ключ следующим
Question 123
SubItem D
Column C
Instance 17
Потому что есть подпозиция D, столбец C и экземпляр 17 должен быть SubItemA, столбец B и экземпляр 16
Однако один из исходных файлов могут быть заполнены значениями данных (и ключи, которые варьируются до приведенного выше примера и какой-либо другой исходный файл может заканчиваться
Q_123_SUB_D_COLUMN_C_NUMB_13
так, когда я итерацию по списку словарей чтобы вытащить все уникальные ключевые экземпляры, чтобы я мог использовать их в csv.dictwriter, поскольку заголовки столбцов моего плана состояли в сортировке результирующего списка уникальных заголовков столбцов, но я не могу заставить сортировать работу
конкретно I необходимо, чтобы результаты сортировались так, чтобы результаты выглядели как
Q_122_SUB_A_COLUMN_C_NUMB_1
Q_122_SUB_B_COLUMN_C_NUMB_1
Q_123_SUB_A_COLUMN_C_NUMB_1
Q_123_SUB_B_COLUMN_C_NUMB_1
Q_123_SUB_C_COLUMN_C_NUMB_1
Q_123_SUB_D_COLUMN_C_NUMB_1
dot
dot
dot
Q_123_SUB_A_COLUMN_C_NUMB_17
Q_123_SUB_B_COLUMN_C_NUMB_17
Q_123_SUB_C_COLUMN_C_NUMB_17
Q_123_SUB_D_COLUMN_C_NUMB_17
Большая проблема заключается в том, что я не знаю, прежде чем открывать какой-либо определенный набор этих файлов, сколько ответов на вопросы, сколько ответов на вопросы, сколько столбцов связано с каждым вопросом или подзапросом или как существует множество примеров любого конкретного сочетания вопросов, подзаголовков или столбцов, и я не хочу этого делать. Используя Python, я смог сократить более 1200 строк кода SAS до 95, но этот последний бит до того, как я начну записывать его в файл CSV, я не могу понять.
Любые наблюдения будут оценены.
Мой план состоит в том, чтобы найти все уникальные ключи, итерации по списку словарей, а затем отсортировать эти ключи правильно, чтобы затем создать файл csv с помощью клавиш в виде заголовков столбцов. Я знаю, что я могу найти уникальные клавиши, которые выталкивают это и сортируют вручную, а затем читают отсортированный файл, но это кажется неуклюжим.
Так как я могу научиться переводить этот впечатляющий бит кода – PyNEwbie
Начните с нарезки, затем пройдите свой путь к лямбда. –
Я нахожусь на нем спасибо – PyNEwbie