이 형식의 데이터가 텍스트 파일에 있습니다.python 사전에서 사전을 만드는 방법
다음{'Marks': {'maths': {'2013-08-31-16': {'Subjects': '100'}},
'Science':{'2013-08-31-16': {'Subjects': '50'}},
'maths':{'2013-08-31-16': {'Subjects': '65'}}} and so on for 17:00 and 18:00 too
코드 조각입니다 : - -이 : 내가 원하는 건 처럼 I 출력이 원하는
('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]]")
사전 데이터 구조 내에서 사전에이 내용을 은밀한 것입니다
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 제목을 분리하여 Marks 내 제목이고 제목은 내 하위 제목입니다. json.loads는 유니 코드 문자열을 파이썬 데이터 구조로 변환합니다. data.zip은 2 개의 목록의 색인을 매핑합니다. 여기에 문제가 있습니다.이 오류가 발생합니다.
ValueError : 사전 업데이트 시퀀스 요소 # 0의 길이가 9입니다. 2가 필요합니다.
나는 우편 번호 기능이 2 개의 목록 만 압축 할 수 있다는 것을 의미합니다. 나머지 목록과 함께 [ "시간", "수학", "과학", "영어"] 인 첫 번째 목록의 색인을 압축하고 싶습니다.
그래서이 작업을 수행하려면 루프를 실행해야합니다. 하지만 그렇게하기 위해서는 도움이 필요합니다.
'데이터'에 2 개의 목록이있는 경우 제대로 작동합니다.
지금까지 해보신 것은 무엇입니까? 어디서 붙어 있니? 문제와 관련하여 구체적으로 설명해주십시오. –
나는 처음에만 붙어있다. 내가 갖고있는 것은 위의 내용을 텍스트 파일에 저장 한 것으로 사전으로 변환해야합니다. 이후 나는 파이썬을 처음 사용합니다. 마크와 과목이 분리 되어질 수 있도록 '_'을 없애는 방법을 알아낼 수 없기 때문에 나는 어디에서 시작해야 할까? 어떤 도움을 줄 수 있습니까? 감사합니다 :) – sam