使用来自JSON文件

时间:2015-12-16 18:03:58

标签: python json dictionary

我有一个包含信息的JSON文件,您可以在附件中看到: Json File

我需要一些帮助,为每个导演创建一个“流派词典”,如下所示: {GenreName:Number} 其中“Number”对应于所属的电影数量导演“创造”的那种类型。

E.g。检查“Sidney Lumet”字典应该是这样的: {u'Drama':2,u'War':1,u'Adventure':1,u'Thriller':2,u'Crime':1}

因为在文件中你可以阅读:

  "Before the Devil Knows You're Dead;2007": {
    "DIRECTORS": [
      "Sidney Lumet"
    ], 
    "GENRES": [
      "Crime", 
      "Drama", 
      "Thriller"
   "Fail-Safe;1964": {
    "DIRECTORS": [
      "Sidney Lumet"
    ], 
    "GENRES": [
      "Adventure", 
      "Drama", 
      "Thriller", 
      "War"

我在标题中错误地解释了我需要的东西。 我的问题不是如何检索信息(我知道json模块,我知道如何访问它的元素),但我需要帮助为每个导演创建特定的字典。

1 个答案:

答案 0 :(得分:2)

这不是python而是算法问题。所有与pyhton相关的都是

with open('file.json') as f:    
    data = json.load(f)

然后,您需要浏览所有电影并计算每个类型,例如:

directors_dict = {}
for film_name, film in data.iteritems():
    for dir in film['DIRECTORS']:
        if not dir in directors_dict:
            directors_dict[dir] = {}
        for genr in film['GENRES']:
            if not genr in directors_dict[dir]:
                directors_dict[dir][genr] = 0
            directors_dict[dir][genr] += 1

 print(directors_dict)

PS:我没有对此代码进行测试,我甚至不知道究竟是什么格式(您的文件需要从Google驱动器访问)。您应该使用print()或调试器来调试和纠正错误。