이 형식의 데이터가 텍스트 파일에 있습니다. 사전 데이터 구조 내의 사전에서이 콘텐츠를 비밀리에 변환하는 것입니다.두 개 이상의 목록이있는 목록을 압축하려면
('Marks_Subjects', '[시간', '수학', '과학', '영어'], [ '2013-08- 31-16 ', 100, 50, 65], [2013-08-31-17, 90, 50, 65], [2013-08-31-18', 80, 60, 85]])
나는 출력이 원하는 같은 : -
{'Marks': {'maths': {'2013-08-31-16': {'Subjects': '100'}},
'Science':{'2013-08-31-16': {'Subjects': '50'}},
'maths':{'2013-08-31-16': {'Subjects': '65'}}}
등등 17:00에 18:00 너무 여기
는 코드입니다 : - 가 마크 내 제목 및 주제입니다 내 피어 로쓰 그래서import sys
import json
def module2():
title, data = ('Marks_Subjects ', "[['Time', 'maths', 'Science','english'],['2013-08-31-16', 100, 50, 65], ['2013-08-31-17', 90, 50, 65],['2013-08-31-18', 80, 60, 85]]")
title, sub_title = title.split('_')
data = json.loads(data.replace("'", '"'))
data = dict(zip(*data))
date = data.pop('Time')
#for subject, value in data.iteritems():
print {title: {subject: {date: {sub_title: value}} for subject, value in data.iteritems()}}
module2()
나는 제목 Marks_Subjects을 분할합니다. json.loads는 유니 코드 문자열을 파이썬 데이터 구조로 변환합니다. data.zip은 2 개의 목록의 색인을 매핑합니다. 여기에 문제가 있습니다.이 오류가 발생합니다.
ValueError: dictionary update sequence element #0 has length 4; 2 is required
짐작할 수있는 것은 2 개의 목록 만 압축 할 수 있다는 것입니다. 첫 번째 목록의 색인을 나머지 목록과 함께 ["Time", "Maths", "Science", "English"]
으로 압축하고 싶습니다.
그래서 나는 루프는이를 달성하기 위해 실행해야합니다 같아요. 하지만 그렇게하기 위해서는 도움이 필요합니다. 내 '데이터'2 개 목록이있는 경우
는 그냥 잘 작동합니다.
지퍼 (seq1 [seq2 [...]) -> [(seq1 [0] seq2 [0] ...) (.. .)] – Tallmad
정말로 위와 같은 코드를 적절하게 변경해 줄 수 있습니까? 감사합니다 – sam