Lesa CSV í gegnum milliþjón með pandas og Requests
Sæktu CSV með uppsettri Requests-flutningi, athugaðu HTTP-niðurstöðuna og gefðu pandas bætabuffer til að greina.
Þegar HTTP-leiðin krefst skýrrar stjórnunar á milliþjóni skaltu sækja CSV fyrst og láta pandas sjá um bætin sem koma:
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')
Milliþjónninn sér um flutninginn; HTTP-milliþjónalistinn býður endapunktsefni fyrir opinbera HTTP-leið. pandas tekur við fílulíkum hlut og beitir venjulegum valkostum sínum fyrir skiltákn, dálka, kóðun og gagnategundir.
Að athuga HTTP-niðurstöðuna fyrir greiningu kemur í veg fyrir að augljós HTTP-villubolur sé meðhöndlaður sem tafla. Skoðaðu líka óvænt efni: innskráningar- eða stefnusíða getur skilað 200 og samt verið HTML í staðinn fyrir umbeðið CSV.
Fyrir HTTP-slóðir eru storage_options read_csv send sem beiðnishausar. Það viðmót er ekki proxies-vörpun í Requests-stíl.
Buffer hefur ekkert skjalasafnsheiti sem getur stýrt þjöppunarályktun. Tilgreindu compression þegar sóttu hleðslan krefst þess. Sama fyrst-sækja-fyrirkomulag virkar með read_excel og bætabuffer, með töflureikninum sem hentar því sniði.
Þetta dæmi heldur öllu svari í minni. Fyrir stóran útflutning skaltu streyma því í stýrða staðbundna skrá og greina þá skrá, með sundurliðun þar sem gagnaflæðið styður það.