我的代码如下:
import json
def reformat(importscompanies):
#print importscompanies
container={}
child=[]
item_dict={}
for name, imports in importscompanies.iteritems():
item_dict['name'] = imports
item_dict['size'] = '500'
child.append(dict(item_dict))
container['name'] = name
container['children'] = child
if __name__ == '__main__':
raw_data = json.load(open('data/bricsinvestorsfirst.json'))
run(raw_data)
def run(raw_data):
raw_data2 = raw_data[0]
the_output = reformat(raw_data2)
我的问题是,代码没有通过整个文件.它只输出一个条目.为什么是这样?我是否正在重写某些内容,是否需要在每个循环中附加的另一个dict?
而且,似乎for循环正在通过每个dict键的iteritems.有没有办法让它只通过一次?
问题确实如此
raw_data2 = raw_data[0]
我最终创建了一个迭代器来访问dict值.
谢谢.
最后,我希望我的最终Json文件看起来像这样,使用我上面提供的数据:
{'name': u'name', 'children': [{'name': u'500 Startups', 'size': '500'}, {'name': u'AffinityChina', 'size': '500'}]}