I’m a python novice but would be tempted to try some combination of a eval() with a ternary expression for each new_report_data.get(‘key’,'value) (if I understand correctly). Then maybe it can be table driven so each field can have an expression to evaluate as a set of update/formatting rules.
Just a wild thought