Eng CSV iwwer e Proxy mat pandas a Requests liesen
Huet eng CSV mat engem konfiguréierten Requests-Transport of, kontrolléiert d'HTTP-Resultat a gitt pandas e Bytebuffer fir d'Parsen.
Wann d'HTTP-Route eng explizit Proxy-Kontroll brauch, huet d'CSV éischt of a loosst pandas mat de resultéierende Byten ëmginn:
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 mécht den Transport; d'HTTP-Proxy-Lëscht liwwert Endpunkt-Kandidaten fir eng ëffentlech HTTP-Route. pandas kritt en dateiänlecht Objet a wend seng üblech Optiounen u fir Trennzeechen, Kolonnen, Kodéierung a Datentypen.
D'HTTP-Resultat virum Parsen ze kontrolléieren verhindert, datt en offensichtlechen HTTP-Feelerkierper als Tabell behandelt gëtt. Kuckt och onerwaarten Inhalt un: eng Login- oder Richtlinnesäit kann 200 zréckschécken an trotzdem HTML sinn amplaz vun der ugefroter CSV.
Bei HTTP-URLen ginn d'storage_options vum read_csv als Ufro-Header weiderginn. Dës Schnëttstell ass keng proxies-Mapp am Requests-Stil.
E Buffer huet keen Archivdateinumm, deen d'Kompressiounsofleedung leet. Gitt compression un, wann dee ofgehollene Payload et erfuerdert. Déi selwecht Uerdnung „éischt ofhuelen“ funktionéiert mat read_excel an engem Bytebuffer, mam passenden Spreadsheet-Motor fir dee Format.
Dëst Beispill hält déi ganz Äntwert am Späicher. Fir en groussen Export, streamt en an eng geréiert lokal Datei a parst déi Datei, mat Chunking wou den Datenworkflow et ënnerstëtzt.