CSV lugemine puhverserveri kaudu pandas'e ja Requestsi abil
Hankige CSV konfigureeritud Requestsi transpordiga, kontrollige HTTP tulemust ja andke pandas'ele parsimiseks baitpuhver.
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.