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.

Artikli relatati