In CSV lêze fia in proxy mei pandas en Requests
Helje in CSV mei in konfigurearre Requests-transport, kontrolearje it HTTP-resultaat en jou pandas in bytebuffer om te parsen.
As de HTTP-rûte eksplisite proxykontrôle nedich hat, helje dan earst de CSV op en lit pandas de resultearjende bytes ôfhandelje:
from io import BytesIO
import pandas as pd
import requests
route = {
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
}
with requests.get(
'https://data.example/report.csv',
proxies=route,
timeout=(5, 30),
) as response:
response.raise_for_status()
frame = pd.read_csv(BytesIO(response.content), encoding='utf-8')
De proxy docht it transport; de HTTP-proxylist leveret einpuntkandidaten foar in iepenbiere HTTP-rûte. pandas krijt in bestânseftich objekt en past syn gewoane opsjes foar skiedingsteken, kolommen, kodearring en gegevenstypen ta.
It HTTP-resultaat kontrolearje foar it parsen foarkomt dat in dúdlike HTTP-flertekst as tabel behannele wurdt. Besjoch ek ûnferwachte ynhâld: in oanmeld- of beliedsside kin 200 weromjaan en dochs HTML wêze yn stee fan de frege CSV.
Foar HTTP-URL's wurde de storage_options fan read_csv trochjûn as oanfraachkoppen. Dat ynterface is gjin proxies-kaart yn Requests-styl.
In buffer hat gjin argyfbestsnnamme om de kompresje-ôflieding te lieden. Jou compression oan as de ophelle lading dat freget. Deselde earst-helje-opstelling wurket mei read_excel en in bytebuffer, mei de rekkenblêdmotor dy't by dat formaat past.
Dit foarbyld hâldt it hiele antwurd yn it ûnthâld. Foar in grutte export, stream it nei in beheard lokaal bestân en parse dat bestân, mei chunking wêr't de gegevenswurkstream dat stipet.