Kui HTTP-marsruut nõuab selget puhverserveri juhtimist, hankige esmalt CSV ja laske pandas'el saadud baite käsitleda:

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')

Puhverserver tegeleb transpordiga; HTTP puhverserverite loend pakub avaliku HTTP-marsruudi jaoks lõpp-punkti kandidaate. pandas saab faililaadse objekti ja rakendab oma tavapäraseid eraldaja, veergude, kodeeringu ja andmetüüpide valikuid.

HTTP tulemuse kontrollimine enne parsimist hoiab ära ilmselge HTTP-vea keha käsitlemise tabelina. Uurige ka ootamatut sisu: sisselogimis- või poliitikaleht võib tagastada 200 ja olla ikkagi HTML, mitte soovitud CSV.

HTTP URL-ide puhul edastatakse read_csv storage_options päringu päistena. See liides ei ole Requestsi-stiilis proxies-kaardistus.

Puhvril pole arhiivifaili nime, mis juhiks pakkimise tuletamist. Määrake compression, kui hangitud sisu seda nõuab. Sama esmalt-hankimise skeem töötab read_excel'i ja baitpuhvriga, kasutades sellele vormingule sobivat arvutustabeli mootorit.

See näide hoiab kogu vastuse mälus. Suure ekspordi puhul voogesitage see hallatavasse kohalikku faili ja parsige seda faili, tükeldades seal, kus andmetöövoog seda toetab.

Seotud artiklid