从json-fi中提取条件值

2024-05-16 01:47:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了以下代码来解析JSON文件并提取满足特定条件的某些值并将它们放入文本文件中。我的代码运行没有错误,在我看来还不错。但是,当我打开文本文件时,它是空白的。在

def my_main(ifile_name, ofile_name):

ifile = open(ifile_name, 'r')
ofile = open(ofile_name, "w")
json_decode=json.load(ifile)
result = []
for i in json_decode['Culture']['Movies']:
    for k in json_decode['Culture']['Movies'][i]:
        if "Oscars" in json_decode['Culture']['Movies'][i][k] == 0 and "Genre" in json_decode['Culture']['Movies'][i][k] == Comedy:
            data = "Actors" in json_decode['Culture']['Movies'][i][k]
            print data
            result.append(data)

for j in result:
    ofile.write(j+'\n')

JSON文件如下

^{pr2}$

我想知道在一部赢得奥斯卡奖的喜剧电影中扮演的演员的名字。从我的代码来看,我觉得它是对的,希望有人能解释。在


Tags: 文件代码nameinjsonfordataresult
1条回答
网友
1楼 · 发布于 2024-05-16 01:47:55

首先,您提供的json文件末尾缺少一个括号。第二,这是工作代码。您在if条件和数据初始化中出错。在

import json
def my_main(ifile_name, ofile_name):
  ifile = open(ifile_name, 'r')
  ofile = open(ofile_name, "w")
  json_decode=json.load(ifile)
  result = []
  for i in json_decode['Culture']['Movies']:
      for k in json_decode['Culture']['Movies'][i]:
          if json_decode['Culture']['Movies'][i][k]['Oscars'] == 0  and  json_decode['Culture']['Movies'][i][k]['Genre'] == "Comedy":
            data = json_decode['Culture']['Movies'][i][k]['Actors']
            print data
            result.append(data)

for j in result:
    ofile.write(str(j)+str('\n'))

my_main('movies.json','o.txt')

相关问题 更多 >