Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在忽略某些数据的同时获取JSON数据数组?_Python_Json - Fatal编程技术网

Python 如何在忽略某些数据的同时获取JSON数据数组?

Python 如何在忽略某些数据的同时获取JSON数据数组?,python,json,Python,Json,我有一个json数据,其中包含SAT分数及其对应学校的数组 输入:[{“sat考生数量”:“s”,“sat考生批判性阅读平均分数”:“s”,“sat考生数学批判性阅读平均分数”:“s”,“sat考生写作平均分数”:“s”,“学校名称”:“哈德逊学习技术高中”},“sat考生数量”:“91”,“sat考生批判性阅读平均分数”:“383”,“sat考生数学批判性阅读平均分数”:“423”,“sat考生写作平均分数”,“学校名称”:“大学社区高中”},参加sat考试的人数:““70”,“sat批判性阅

我有一个json数据,其中包含SAT分数及其对应学校的数组

输入:
[{“sat考生数量”:“s”,“sat考生批判性阅读平均分数”:“s”,“sat考生数学批判性阅读平均分数”:“s”,“sat考生写作平均分数”:“s”,“学校名称”:“哈德逊学习技术高中”},“sat考生数量”:“91”,“sat考生批判性阅读平均分数”:“383”,“sat考生数学批判性阅读平均分数”:“423”,“sat考生写作平均分数”,“学校名称”:“大学社区高中”},参加sat考试的人数:““70”,“sat批判性阅读平均分数”:“377”,“sat数学平均分数”:“402”,“sat写作平均分数”:“370”,“学校名称”:“东区社区学校”}

预期产出:
“[[38342366,“大学社区高中”],[37740370,“东区社区学校”]]”

我只想取一个由SAT阅读分数、SAT数学分数、SAT写作分数和相应的学校名称组成的数组,同时省略不包含任何有效SAT分数的学校,例如“哈德逊学习技术高中”。这是我的尝试。现在,我如何省略那些没有任何有效SAT分数的学校

def keyData(data):
    json_str = [[float(e["sat_critical_reading_avg_score"]), 
    float(e["sat_math_avg_score"]), float(e["sat_writing_avg_score"]), 
    e["school_name"]] for e in data]
    return json.dumps(json_str)
这应该做到:

def keyData(data):
  result = []
  for ele in data:
    try:
      result.append([
        int(ele['sat_critical_reading_avg_score']),
        int(ele['sat_math_avg_score']),
        int(ele['sat_writing_avg_score']),
        ele['school_name']
      ])
    except:
      pass
  return result
如果
元素
没有定义任何小数点,或者值不是整数,将抛出错误,不会发生附加,执行将跳转到
块,除了
块,在该块中不会发生任何事情,我们对数据中的所有元素重复此操作