Ich bin Hobby-Programmierer und möchte ein echtes Problem lösen, das ich habe. Ich bin ein Benutzer eines Softwaresystems, das eine API freigibt, die es ermöglicht, Datensätze mit Get zu aktualisieren/hinzuzufügen. Ich habe die Daten, in denen ich das System ändern möchte, in Pandas importiert und weiß nicht, wie ich am besten über die Zeilen iterieren und dynamisch eine URL erstellen kann.Wie kann ich Anfragen mit einem Pandas-Datenframe verwenden, um mehrere HTTP-Anfragen zu erstellen?
Ich möchte eine URL für jede Zeile erstellen, die ähnlich ist:
import pandas as pd
import requests as r
site = 'http://fakesite.org/servlet/Erp?'
payload = dict()
payload['_FORM'] = 'AD1'
payload['_EVT'] = 'ADD'
payload['_RTN'] = 'DATA'
payload['FC'] = 'Add'
payload['_OUT'] = 'XML'
payload['_EOT'] = 'TRUE'
data = {'F1': ['A','A','A'], 'F3': ['HELLO', 'GOODBYE', 'HELLO_AGAIN'], 'F16': ['EA','BX','CA']}
df = pd.DataFrame(data)
Die „Nutzlast“:
unter ich den Anfang meines Codes Setup enthalten haben Das von mir erstellte Wörterbuch enthält alle Parameter, die sich für die Anforderung nicht ändern. Diese sind im Wesentlichen fest codiert und kein Teil des Pandas-Datenrahmens. Ich werde schließlich kombinieren dieses Wörterbuch mit den Werten in jeder Zeile des Datenrahmens vor der Übergabe an request.get
Ich denke, ich muss entweder verwenden entweder anwenden oder itterrows verwenden, aber ich kann nicht scheinen, es herauszufinden.
Wie soll ich diesen Code schreiben?
Vielen Dank für Ihre Antwort. Um diese Übung fortzusetzen, wie würden Sie die "Nutzdaten" an die Requests-Bibliothek übergeben, so dass sie eine Anfrage pro Wörterbuch erzeugt? Könnten Sie das auch mit der Pandas Funktion "to-dict ('records')" machen? Ich benutze Pandas, um die Daten zu manipulieren, und dann hole ich sie in den Datenrahmen, der für die variablen Parameter der Anfrage verwendet wird. http://stackoverflow.com/questions/21190323/passing-records-parameter-to-pandas-to-dict-method –
Genau das, was ich gesucht habe; ich danke dir sehr! –