使用python从JSON中删除空键,对

时间:2017-11-21 22:15:47

标签: python json

我有json数据

data = 
[
{"A": "1", "C": "", "B": "2", "E": "4", "D": "3"}, 
{"A": "", "C": "6", "B": "5", "E": "7", "D": ""}, 
{"A": "", "C": "", "B": "", "E": "8", "D": ""}, 
{"A": "", "C": "", "B": "9", "E": "", "D": "10"}
]

我想使用python删除空键/值,使其看起来像这样

data = 
[
{"A": "1", "B": "2", "E": "4", "D": "3"}, 
{"C": "6", "B": "5", "E": "7"}, {"E": "8"}, 
{"B": "9", "D": "10"}
]

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

data = [
  {"A": "1", "C": "", "B": "2", "E": "4", "D": "3"}, 
  {"A": "", "C": "6", "B": "5", "E": "7", "D": ""}, 
  {"A": "", "C": "", "B": "", "E": "8", "D": ""}, 
  {"A": "", "C": "", "B": "9", "E": "", "D": "10"}
 ]
new_data = [{a:b for a, b in i.items() if b} for i in data]

输出:

[{'A': '1', 'B': '2', 'E': '4', 'D': '3'}, {'C': '6', 'B': '5', 'E': '7'}, {'E': '8'}, {'B': '9', 'D': '10'}]