it-swarm.com.de

Konvertieren Sie Textdaten vom Anforderungsobjekt in Datenrahmen mit Pandas

Mit Anfragen erstelle ich ein Objekt im CSV-Format. Wie kann ich dieses Objekt dann mit Pandas auf einen DataFrame schreiben?

So erhalten Sie das Anforderungsobjekt im Textformat:

import requests
import pandas as pd
url = r'http://test.url' 
r = requests.get(url)
r.text  #this will return the data as text in csv format

Ich habe versucht (funktioniert nicht):

pd.read_csv(r.text)
pd.DataFrame.from_csv(r.text)
7
sparrow

Versuche dies

import requests
import pandas as pd
import io

urlData = requests.get(url).content
rawData = pd.read_csv(io.StringIO(urlData.decode('utf-8')))
13
Merlin

Ich denke, Sie können read_csv mit url verwenden:

pd.read_csv(url)

filepath_or_buffer: str, pathlib.Path, py._path.local.LocalPath oder ein beliebiges Objekt mit einer read () - Methode (z. B. ein Dateihandle oder StringIO)

Die Zeichenfolge kann eine URL sein. Gültige URL-Schemas umfassen http, ftp, s3 und datei. Für Datei-URLs wird ein Host erwartet. Eine lokale Datei könnte beispielsweise file: //localhost/path/to/table.csv sein

Wenn es nicht funktioniert, versuchen Sie Folgendes:

import pandas as pd
import io
import requests

url = r'http://...' 
r = requests.get(url)  
df = pd.read_csv(io.StringIO(r) 
5
jezrael

wenn die URL keine Authentifizierung hat, können Sie read_csv (url) direkt verwenden.

wenn Sie über eine Authentifizierung verfügen, können Sie request verwenden, um die Pick-Auswahl aufzuheben, die CSV-Datei zu drucken und sicherzustellen, dass das Ergebnis CSV ist und Panda verwendet wird.

Sie können das Importieren von Import csv direkt verwenden

1
rkoots