繁体   English   中英

将两个 JSON {key1:value1 , key2:value2} 组合成单个键(即 {key3:value1,value2})Python

[英]combining two JSON {key1:value1 , key2:value2} to single key (i e {key3:value1,value2}) Python

我想将经度和纬度结合到 {latlon: '40.33333,-79.34343'}

整个 JSON 在变量 data = jsonData 中

我想删除原始键值对

{
  'locale': 'en_US',
  'timezone': '-7',
  'id': '13',
  'agerangemin': '21',
  'verified': 'true',
  'coverimageurl': 'scontent.xx.fbcdn/t31.0-0/p480x480/13063482_1183967848280764_1411489384515766669_o.jpg',
  'tagline': 'Veggien',
  'lastupdated': '1462341401',
  'fbupdated_time': '2016-03-30T00:38:48+0000',
  'lname': 'Kulkarni',
  'fname': 'Nikhil',
  'email': 'nikhilhk.usa@gmail.com',
  'latitude': '40.333333',
  'longitude': '-79.34343',
  'displayname': 'Nikhil Kulkarni',
  'fbprofileid': '1121344884543061',
  'profileimageurl': 'scontent.xx.fbcdn/hprofile-xft1/v/t1.0-1/p100x100/10423743_952350738109144_964810479230145631_n.jpg?oh=71f7e953dbbf8e2f1d9f22418f7888b2&oe=579F4A36',
  'link': 'facebook/app_scoped_user_id/1121344884543061/',
  'diet': 'Vegetarian',
  'dietsinceyear': '1966',
  'gender': 'M',
  'vegstory': '',
  'shortdescription': 'Just like that',
  'categoryids': '',
  'reasonforveg': 'Religious'
}
>>> json_data['latlon'] = ','.join(json_data[k] for k in ('latitude', 'longitude'))
>>> json_data['latlon']
'40.333333,-79.34343'

请注意,这将保留原始键值对。


更新:

如果要删除原始键值对,请使用pop方法:

>>> json_data['latlon'] = ','.join(json_data.pop(k) for k in ('latitude', 'longitude'))
>>> json_data['latlon']
'40.333333,-79.34343'
data['latlong'] = data['latitude'] + ',' + data['longitude']
del data['latitude']
del data['longitude']

可以在一行中完成。

>>> dic = {'latitude': '40.333333', 'longitude': '-79.34343'}
>>>
>>> dic['latlon'] = "{0},{1}".format(dic.pop('latitude'),dic.pop('longitude'))
>>> dic
{'latlon': '40.333333,-79.34343'}

要了解dic.pop()工作原理,请参阅此内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM