2012-12-30 3 views
0

J'utilise google place API pour retourner une liste d'emplacements. Je voudrais trouver le prénom du jeu de résultats. Je reçois une liste de valeurs, mais quand j'essaie d'obtenir juste le prénom, il me donne le premier caractère à la place.python: Je veux trouver le premier enregistrement dans google place result mais obtenir le premier caractère

name2 = simplejson.dumps([s['name'] for s in result['results']], indent=0)[0] 

De toute évidence, il doit y avoir une meilleure façon d'obtenir ce que je veux, mais je l'ai pas trouvé. On dirait que je manque quelque chose de très basique. La fonction entière est la suivante:

import simplejson, urllib 


PLACE_SEARCH = 'https://maps.googleapis.com/maps/api/place/textsearch/json' 

def placelatlng(name,city, state, sensor,**geo_args): 
    geo_args.update({ 
     'name': name, 
     'city': city, 
     'state': state,  
     'sensor': sensor 
    }) 
    concat=name+'+'+city+'+'+state 
    query = {"query": concat } 

    key="MyKey" 
    url = PLACE_SEARCH + '?' + urllib.unquote(urllib.urlencode(query))+ '&' + "sensor="+sensor +'&' + "key="+key 
    result = simplejson.load(urllib.urlopen(url)) 
    name2 = simplejson.dumps([s['name'] for s in result['results']], indent=0) 

Merci.

+0

supprimer unquote(), passer le dictionnaire avec les paramètres de la requête (y compris le capteur, la clé de urlencode() – jfs

+0

Fournir une clé de travail pour obtenir de l'aide plus rapidement, @jabs – hd1

+0

@JFSebastian - Je vais essayer aussi, votre solution ci-dessous a fonctionné, mais essayer d'autres approches est bon aussi – jabs

Répondre

2

dumps() renvoie une chaîne. [0] obtient le premier caractère dedans.

Pour obtenir le nom du premier résultat:.

print result['results'][0]['name'] 
+0

Merci, c'est tout, j'apprécie l'aide. – jabs

Questions connexes