如何在Python中从特定键获取特定值

  • 本文关键字:获取 Python python json
  • 更新时间 :
  • 英文 :

jsonA = 
[ {'id': 'xxx1', 'serial': 'BPCE-RNHC-25G8', 'model': 'AlertTrace', 'subject': 'EMP004'}, 
{'id': 'xxx2', 'serial': 'XX-WWW-2XSFC', 'model': 'AlertTrace', 'subject': 'EMP005'}, 
{'id': 'xxx3', 'serial': 'VVV-ASD-CDSG', 'model': 'AlertTrace', 'subject': ''} ]

我有3个json数据,我想检索subject不为空的数据。接下来,我应该能够过滤只有两个键的结果,即serialsubject

预期输出:

jsonA = 
[ {'serial': 'BPCE-RNHC-25G8', 'subject': 'EMP004'}, 
{'serial': 'XX-WWW-2XSFC', 'subject': 'EMP005'} ]

我尝试了这个代码:(但输出只显示了我的主题。我需要从序列和主题的值)

Filter = [{'serial': dct['serial']} and {'subject': dct['subject']} for dct in jsonA if (dct['subject']) != None]

您可以尝试使用以下示例代码:

a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
for key, value in a_dict.items():
print(key, '->', value)
在你的代码中,你可以尝试这样做:
for key, value in jsonA.items():    
if value != None:

回车键

但我不完全确定:)

Just do:

res = [{'serial': dct['serial'], 'subject': dct['subject']} for dct in jsonA if dct['subject']]
print(res)

[{'serial': 'BPCE-RNHC-25G8', 'subject': 'EMP004'}, {'serial': 'XX-WWW-2XSFC', 'subject': 'EMP005'}]

在Python中,None""的真值是False,所以你可以在条件中直接使用dct['subject']。要创建字典,请参考文档。

相关内容

  • 没有找到相关文章

最新更新