我在這個文本文件中有這種格式的數據。 所有我想要的是一本字典的數據結構中隱蔽在字典此內容如何在Python中的字典中創建字典
('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]]")
我所要的輸出是這樣的: -
{'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
這裏是代碼片段: -
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,以便標記是我的標題和主題是我的sub_title。 json.loads將unicode字符串轉換爲python數據結構 data.zip映射2個列表的索引。 這裏的問題是我得到這個錯誤
ValueError:字典更新序列元素#0的長度爲9; 2是必需的
我想這意味着zip函數只能壓縮2個列表。我想將第一個列表的索引與其餘列表壓縮爲[「時間」,「數學」,「科學」,「英語」]。
所以我想一個循環必須運行才能實現這一點。但我需要一些幫助。
如果我在我的'數據'中有2個列表,那麼它工作得很好。
到目前爲止您嘗試過什麼?你卡在哪裏?請更具體地處理您的問題。 –
我被困在一開始只。我所擁有的就是將上述內容保存在文本文件中,我必須將其轉換爲字典。由於我是python的新手。我有點卡在從哪裏開始,因爲我無法弄清楚如何擺脫'_',因此標記和主題被認爲是分開的。你能提供任何幫助嗎?謝謝:) – sam