下载后,我试图从Overpass API JSON数据返回数据到Django模型中>
"elements": [ { "type": "node", "id": 662934404, "lat": 35.572157, "lon": 45.3898839, "tags": { "addr:postcode": "46001", "name": "City Center", "name:en": "City Center Mall", "name:ku": "City Center Mall", "shop": "mall", "website": "http://www.citycentersul.com" } }, { "type": "node", "id": 2413990402, "lat": 35.5014386, "lon": 45.4457576, "tags": { "addr:city": "sulaymaniyah", "designation": "ASSAN", "name": "ASSAN STEEL CO.", "opening_hours": "3 min", "shop": "doityourself", "source": "ASSAN Steel Company General Trading Co, Ltd" }, { "type": "node", "id": 2414374708, "lat": 35.506121, "lon": 45.4417229, "tags": { "addr:city": "sulaymaniyah", "name:ku": "ASSAN Steel Company General Trading Co, Ltd", "shop": "doityourself", } },
但是某些数据主体将两者结合在一起
name , name:ku ,name:en
因此,如果name为none,该怎么办,然后返回name:ku;如果存在,则返回name:en
我已经尝试过了,但是没有用
with open('data.json') as datafile: objects = json.load(datafile) for obj in objects['elements']: try: objType = obj['type'] if objType == 'node': tags = obj['tags'] name = tags.get('name') if not name: name = tags.get('name:en') elif not name: name = tags.get('name:ku') elif not name: name = tags.get('name:ar') else: name = tags.get('shop','no-name')
还有其他我想念的东西吗?感谢您的帮助
[我正在尝试从下载了“ elements”之后的Overpass API JSON数据返回数据到Django模型:[{“ type”:“ node”,“ id”:662934404,“ lat”:35.572157,“ lon”: 45.3898839,“标签”:{“ ...
您可以遍历所有可能的键并在检测到值后停止:
以下及所有后续的elif
条件均错误: