جب 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 اور بائٹ بفر کے ساتھ کام کرتی ہے، اس فارمیٹ کے لیے موزوں اسپریڈشیٹ انجن استعمال کرتے ہوئے۔

یہ مثال پورا جواب میموری میں رکھتی ہے۔ بڑی برآمد کے لیے، اسے زیرِ انتظام مقامی فائل میں اسٹریم کریں اور اس فائل کا تجزیہ کریں، جہاں ڈیٹا ورک فلو معاونت کرے وہاں حصوں میں تقسیم کرتے ہوئے۔

متعلقہ مضامین