जेव्हा HTTP मार्गाला स्पष्ट प्रॉक्सी नियंत्रण हवे असते, तेव्हा आधी CSV मिळवा आणि येणारे बाइट्स pandas ला हाताळू द्या:

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

प्रॉक्सी वाहतूक हाताळते; HTTP प्रॉक्सी यादी सार्वजनिक HTTP मार्गासाठी एंडपॉइंट उमेदवार पुरवते. pandas फाइलसदृश ऑब्जेक्ट घेतो आणि आपले नेहमीचे delimiter, column, encoding आणि data-type पर्याय लागू करतो.

पार्सिंगपूर्वी HTTP निकाल तपासल्यास स्पष्ट HTTP त्रुटीचा बॉडी तक्ता मानणे टळते. अनपेक्षित सामग्रीही तपासा: लॉगिन किंवा धोरण पृष्ठ 200 परत देत असूनही मागितलेल्या CSV ऐवजी HTML असू शकते.

HTTP URL साठी, read_csv चे storage_options विनंती हेडर म्हणून पाठवले जातात. तो इंटरफेस Requests-शैलीतील proxies मॅपिंग नाही.

बफरमध्ये संकुचनाचा अंदाज मार्गदर्शन करणारे संग्रह फाइलनाव नसते. मिळवलेल्या पेलोडला आवश्यक असल्यास compression निर्दिष्ट करा. तीच आधी-मिळवा रचना read_excel आणि बाइट बफरसह काम करते, त्या स्वरूपासाठी योग्य स्प्रेडशीट इंजिन वापरून.

हे उदाहरण संपूर्ण प्रतिसाद मेमरीत ठेवते. मोठ्या निर्यातीसाठी, ते व्यवस्थापित स्थानिक फाइलमध्ये स्ट्रीम करा आणि ती फाइल पार्स करा, डेटा कार्यप्रवाहाला आधार असल्यास तुकड्यांमध्ये विभागून.

संबंधित लेख