HTTP yolu açık proxy denetimi gerektirdiğinde önce CSV'yi getirin ve elde edilen baytları pandas'a bırakın:

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

Taşımayı proxy üstlenir; HTTP proxy listesi genel bir HTTP yolu için uç nokta adayları sağlar. pandas dosya benzeri bir nesne alır ve olağan ayırıcı, sütun, kodlama ve veri türü seçeneklerini uygular.

Ayrıştırmadan önce HTTP sonucunu denetlemek, bariz bir HTTP hata gövdesinin tablo olarak ele alınmasını önler. Beklenmeyen içeriği de inceleyin: bir oturum açma veya ilke sayfası 200 döndürüp yine de istenen CSV yerine HTML olabilir.

HTTP URL'leri için read_csv'nin storage_options değerleri istek başlıkları olarak iletilir. Bu arayüz Requests tarzı bir proxies eşlemesi değildir.

Bir tamponun sıkıştırma çıkarımına yol gösterecek arşiv dosya adı yoktur. Getirilen yük bunu gerektiriyorsa compression belirtin. Aynı önce-getir düzeni read_excel ve bir bayt tamponuyla da çalışır; o biçime uygun elektronik tablo motorunu kullanır.

Bu örnek yanıtın tamamını bellekte tutar. Büyük bir dışa aktarım için yönetilen yerel bir dosyaya akıtın ve o dosyayı ayrıştırın; veri iş akışı destekliyorsa parçalara bölerek ilerleyin.

İlgili makaleler