我在这个文本文件中有这种格式的数据。 所有我想要的是一本字典的数据结构中隐蔽在字典此内容如何在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