Aqra CSV permezz ta' proxy bil-pandas u Requests
Iġbed CSV b'trasport Requests konfigurat, iċċekkja r-riżultat HTTP, u agħti lil pandas buffer ta' bytes għall-analiżi.
Meta r-rotta HTTP teħtieġ kontroll espliċitu tal-proxy, iġbed l-CSV l-ewwel u ħalli lil pandas jimmaniġġja l-bytes li jirriżultaw:
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')
Il-proxy jimmaniġġja t-trasport; il-lista tal-proxy HTTP tipprovdi kandidati għall-punt tat-tmiem għal rotta HTTP pubblika. pandas jirċievi oġġett bħal fajl u japplika l-għażliet tas-soltu tiegħu għad-delimitatur, il-kolonni, l-inkodar u t-tipi tad-data.
Li tiċċekkja r-riżultat HTTP qabel l-analiżi jevita li korp ta' żball HTTP ovvju jiġi trattat bħala tabella. Iċċekkja wkoll kontenut mhux mistenni: paġna tal-login jew tal-politika tista' tirritorna 200 u xorta tkun HTML minflok l-CSV mitlub.
Għall-URLs HTTP, l-storage_options ta' read_csv jgħaddu bħala headers tat-talba. Dak l-interface mhuwiex mapping ta' proxies fi stil Requests.
Buffer m'għandux isem ta' fajl tal-arkivju biex jiggwida l-inferenza tal-kompressjoni. Speċifika compression meta l-payload miksub jeħtieġha. L-istess tħejjija 'iġbed l-ewwel' taħdem ma' read_excel u buffer ta' bytes, bl-engine tal-ispreadsheet adatt għal dak il-format.
Dan l-eżempju jżomm ir-risposta kollha fil-memorja. Għal esportazzjoni kbira, xandarha fi fajl lokali ġestit u analizza dak il-fajl, b'qsim f'biċċiet fejn il-fluss tax-xogħol tad-data jappoġġah.