I am using a deepdiff to compare data of two databases. here is example
from deepdiff import DeepDiff
users1 = [{'id': 1, 'name': 'John', 'age': 30}, {'id': 2, 'name': 'Jane', 'age': 25}]
users2 = [{'id': 1, 'name': 'John', 'age': 30}, {'id': 2, 'name': 'Bob', 'age': 35}]
diff = DeepDiff(users1, users2)
print(diff)
It is giving me output like below
{'values_changed': {"root[0]['age']": {'new_value': 20, 'old_value': 30}, "root[1]['name']": {'new_value': 'Bob', 'old_value': 'Jane'}, "root[1]['age']": {'new_value': 35, 'old_value': 25}}}
But I wanted the keys like ids should also be printed so that i will be able to know which id has mismatched.
The sample example output could be
{'values_changed': {"root[ID_VALUE]['age']": {'new_value': 20, 'old_value': 30}, "root[1]['name']": {'new_value': 'Bob', 'old_value': 'Jane'}, "root[ID_VALUE]['age']": {'new_value': 35, 'old_value': 25}}}
or
{'values_changed': {1:{"root[0]['age']": {'new_value': 20, 'old_value': 30}}, "{2:root[1]['name']": {'new_value': 'Bob', 'old_value': 'Jane'}, "root[1]['age']": {'new_value': 35, 'old_value': 25}}}}
Is there any way to do this.
Thanks