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 र बाइट बफरसँग काम गर्छ, त्यो ढाँचाका लागि उपयुक्त स्प्रेडसिट इन्जिन प्रयोग गरेर।
यो उदाहरणले सम्पूर्ण प्रतिक्रिया मेमोरीमा राख्छ। ठूलो निर्यातका लागि, यसलाई व्यवस्थित स्थानीय फाइलमा स्ट्रिम गर्नुहोस् र त्यो फाइल पार्स गर्नुहोस्, डेटा कार्यप्रवाहले समर्थन गर्ने ठाउँमा खण्डमा बाँडेर।