Python Edit/Rename Key Names in .json
I'd like to add my method here since it expands the singular naming to using a dict of keys.
Lets say you have a sample JSON list ga_list
and you would like to change all the names with a dict key names_key
:
names_key = { 'ga:date' : 'date' , 'ga:bounceRate' : 'bounce' , 'ga:newUsers' : 'new_users', 'ga:pageviews' : 'page_views', 'ga:sessions' : 'sessions', 'ga:uniquePageviews' : 'unique_page_views', 'ga:users' : 'users' }ga_list = [{ 'ga:bounceRate': 34.478408, 'ga:date': '20151203', 'ga:newUsers': 1679, 'ga:pageviews': 550, 'ga:sessions': 307, 'ga:uniquePageviews': 467, 'ga:users': 256}, {'ga:bounceRate': 21.28534, 'ga:date': '20151204', 'ga:newUsers': 164, 'ga:pageviews': 594, 'ga:sessions': 305, 'ga:uniquePageviews': 476, 'ga:users': 252}, {'ga:bounceRate': 13.8372346, 'ga:date': '20151205', 'ga:newUsers': 152, 'ga:pageviews': 826, 'ga:sessions': 330, 'ga:uniquePageviews': 241, 'ga:users': 200}]for row in ga_list: for k, v in names_key.items(): for old_name in row: if k == old_name: row[v] = row.pop(old_name)print(ga_list)>>>[{'bounce': 34.47842608, 'date': '20151203', 'new_users': 1679, 'page_views': 550, 'sessions': 307, 'unique_page_views': 467, 'users': 256}, {'bounce': 21.28534, 'date': '20151204', 'new_users': 164, 'page_views': 594, .... 'unique_page_views': 241, 'users': 200}]
And there you have it all the old names are renamed according to the key.
Hope this helps someone.