2016-11-14 4 views
0

Ich arbeite an Entity Extraction usine API-Aufruf an https://dandelion.eu/. Ich sende Textdateien und automatisch bekomme ich als Antwort eine JSON-Datei zurück. Es ist nicht das erste Mal, dass ich diesen Service nutze und es hat wirklich gut funktioniert. Jetzt habe ich begonnen, eine neue Textdatei mit denselben Parametern zu senden, die ich immer benutzt habe, aber ich bekomme folgendes: ValueError: zu viele Werte zum Entpacken. ist hier mein Code:Python requests.request ValueError: zu viele Werte zum Entpacken

values={"text":" ", 
     "min_confidence":"0.6", 
     "include":"types", 
     "include":"abstract", 
     "include":"categories" 
     } 

headers = {'X-Target-URI':'https://api.dandelion.eu', 
      'Host':'api.dandelion.eu', 
      'Connection': 'keep-alive', 
      'Server': 'Apache-Coyote/1.1', 
      'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 
      } 

for roots, dirs, files in os.walk(spath): #spath is specified 
for file in files: 
    if file.startswith("A0"): 
     with open(file, "r") as f: 
      text = f.read() 

      values["text"]= " ".join(text.split()) 

      #api call 
      url = "https://api.dandelion.eu/datatxt/nex/v1/" 
      data = urllib.urlencode(values, "utf-8") 
      response = requests.request("POST", url, data=data, headers=headers, params=token_api) 

      content = response.json() 

      print content 

ErrorValue: zu viele Werte jemand auspacken

mir auf diesem helfen? Ich habe immer den gleichen Code für andere API-Anrufe verwendet und es hat gut funktioniert. Ich weiß nicht, was jetzt falsch ist.

Antwort

0

Die API gibt mehr als einen Wert zurück.

Bitte beachten Sie die API-Dokumentation und sehen Sie, was die Rückgabewerte sind.

(Sie nicht erwähnt, welche API die err in Tour Frage aufgeworfen)

+0

Es sieht seltsam aus, weil die API gibt immer eine einzige Antwort. Eine einzelne JSON-Datei. Ich benutze das gleiche Python-Skript für andere Textdateien und es funktioniert korrekt. – CosimoCD

+0

Ich entdeckte, was das Problem war ... Der Titel meiner Dateien war Serie von steigenden Zahlen, es. 001, 002,003. Ich weiß nicht warum, aber wenn ich Python sage, um alle Dateien zu öffnen, die mit "0" beginnen, öffnet es alle Dateien nacheinander, aber zweimal die gleiche Datei. Es speichert also zwei Dateien in den Variablenwerten ["text"] = "" .join (text.split()) und wenn ich die Antwort zurückbekomme, ist es nicht möglich, sie zu entpacken. – CosimoCD

Verwandte Themen