Have a list called summary containing a corresponding JSON object similar to:
{
# summary[0]
"object1": {
"json_data": "{json data information}",
"tables_data": "TABLES_DATA"
},
# summary[1]
"object2": {
"json_data": "{json data information}",
"tables_data": ""
}
}
Essentially, if "tables_data": "" is found within the string of a list item, I want the entire list item to be removed.
How would I go about doing this?
Advertisement
Answer
You can do a dictionary-comprehension selecting the dictionary item with 'tables_data' has a value not equals '':
summary = [{
# summary[0]
"object1": {
"json_data": "{json data information}",
"tables_data": "TABLES_DATA"
},
# summary[1]
"object2": {
"json_data": "{json data information}",
"tables_data": ""
}
}]
result = [{k: d for k, d in s.items() if d.get('tables_data') != ''} for s in summary]
# [{'object1': {'json_data': '{json data information}', 'tables_data': 'TABLES_DATA'}}]