pandas और Requests के साथ प्रॉक्सी से CSV पढ़ना
कॉन्फ़िगर किए गए Requests ट्रांसपोर्ट से CSV लाएँ, उसका HTTP परिणाम जाँचें, और pandas को पार्सिंग के लिए बाइट बफ़र दें।
जब 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 और बाइट बफ़र के साथ काम करती है, उस प्रारूप के लिए उपयुक्त स्प्रेडशीट इंजन का उपयोग करके।
यह उदाहरण पूरा उत्तर मेमोरी में रखता है। बड़े निर्यात के लिए, इसे प्रबंधित स्थानीय फ़ाइल में स्ट्रीम करें और उस फ़ाइल को पार्स करें, जहाँ डेटा वर्कफ़्लो समर्थन दे वहाँ चंकिंग के साथ।