나는 처리 한 이러한 복잡한 데이터 파일을 가지고 있으며 각 파일이 처리 될 때 orderedDictionary를 사용하여 키와 값을 캡처했습니다. 각 orderedDictionary는 목록에 추가되므로 최종 결과는 사전 목록입니다. 이 파일들에 포착 된 데이터의 다양성 때문에 그들은 공통적 인 많은 키들을 가지고 있습니다. 그러나 데이터를 Excel로 내보내는 것이 내가 기대했던 것보다 더 복잡하게 만드는 비결한 키가 있습니다. 왜냐하면 필자가 일관되게 구조.어떻게 복잡한 사전 키를 정렬 할 수 있습니까?
각 키는, 그래서 예를 들어 나는 하위 항목 D 있기 때문에
Question 123
SubItem D
Column C
Instance 17
을 다음과 같이
Q_123_SUB_D_COLUMN_C_NUMB_17
우리는 키를 변환 할 수 있습니다
Q_#_SUB_A_COLUMN_#_NUMB_#
같은 구조를 가지고 열 C와 인스턴스 17에는 SubItemA, Column B 및 Instance가 있어야합니다.
그러나 소스 파일 중 하나는 내가 사전의 목록을 반복 할 때 너무
Q_123_SUB_D_COLUMN_C_NUMB_13
으로 종료 할 수있는 데이터 값 (위의 예와 다른 소스 파일까지 다양 키를 채울 수 있습니다 csv.dictwriter에서 열 제목으로 사용할 수 있도록 모든 고유 키 인스턴스를 가져 오려면 내 계획은 고유 한 열 제목의 결과 목록을 정렬하는 것이었지만 정렬 작업을 할 수없는 것처럼 보였습니다.
결과가 같아 지도록 정렬해야합니다.
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
큰 문제는 특정 파일 세트를 열어보기 전에 얼마나 많은 질문에 답변을 받았는지, 몇 가지 하위 질문에 답을 할 수 있는지, 각 질문 또는 하위 질문과 얼마나 많은 열이 연관되어 있는지, 일부 질문, 하위 질문 또는 열의 특정 조합이 많은 경우가 있으며 원하지 않습니다. 파이썬을 사용하여 1,200 줄의 SAS 코드를 95 개로 줄일 수 있었지만 CSV 파일에 쓰기 시작하기 전에이 마지막 조금만 알아 냈습니다.
어떤 관찰이라도 이해 될 것이다.
내 계획은 사전 목록을 반복하여 모든 고유 키를 찾은 다음이 키를 올바르게 정렬하여 키를 열 머리글로 사용하여 CSV 파일을 만들 수 있습니다. 나는 고유 한 키를 찾아서 수동으로 정렬 한 다음 정렬 된 파일을 다시 읽을 수는 있지만 어색해 보입니다.
을 통해 첫 번째를 추적하는 것이 쉬웠다 그래서
같은 종류를 할 수 있었다 필요하지 않았다 이 인상적인 비트 코드 – PyNEwbie
조각으로 시작한 다음 '람다'로가는 길. –
감사합니다. – PyNEwbie