Je tirais de 3 requêtes distinctes contre une API RESTful (J'utilise python/urllib2/pandas géants) chaque requête contenant l'une des variantes de chaîne suivantes:Passer une chaîne contenant unicode à une API RESTful
(1) 'Caveolin-1 suppresses Human Immunodeficiency Virus-1 replication by inhibiting acetylation of NF-\xce\xbaB'
(2) 'Caveolin-1 suppresses Human Immunodeficiency virus-1 replication by inhibiting acetylation of NF-κB'
(3) 'Caveolin-1 suppresses Human Immunodeficiency virus-1 replication by inhibiting acetylation of NF
les résultats sont les suivants:
(1) ne marche pas retourné aucun résultat (lorsque vous avez terminé programmation de python)
(2) Travaux et renvoie le résultat attendu - l'enregistrement correspondant (requête tiré manuellement à l'aide d'un plug-in Chrome pour faire API RESTful appelle et coller juste le str ING est dans la partie appropriée de l'appel API)
(3) fonctionne comme (2)
Depuis que je suis la source de données et je suis en train de faire (1) programmation de python par chaîne lecture d'un dataframe, y a-t-il un moyen de faire quelque chose (je ne sais pas quoi) avec les caractères unicode dans mes données sources (je suppose que c'est ce que '\ xbaB' etc.) pour les rendre passable à l'API? '\ xce \ xbaB' semble être l'encodage de 'κB' basé sur ce qui précède.
Ou c'est ceci quelque chose que je vais devoir regarder la documentation d'API pour (qui pour ce peu n'existe pas je ne pense pas ...).
Si c'est difficile/c'est plus facile - quel est le meilleur moyen de se débarrasser de tout caractère unicode de la chaîne avant de passer la requête (c'est-à-dire de repli sur (3))?
Merci d'avance!
REF: de python Je suis exécutant la commande suivante à venir avec l'API
api_call = 'http://some_api/index:ABCDE?query=title(' + str(title_string) + ')' headers = {'APIKey': API_key, 'accept':'text/xml, application/atom+xml'}
request = urllib2.Request(api_call, headers = headers,)
response = urllib2.urlopen(request,'' , 30)
return response.read()
opiethehokie Merci d'avoir pensé à ce sujet - plus d'information vient d'ajouter à ma q pour répondre certains des points que vous avez soulevés. – user7289