যখন 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 ও বাইট বাফারের সঙ্গে কাজ করে, ওই ফরম্যাটের উপযুক্ত স্প্রেডশিট ইঞ্জিন ব্যবহার করে।

এই উদাহরণটি সম্পূর্ণ প্রতিক্রিয়া মেমরিতে রাখে। বড় এক্সপোর্টের জন্য, এটি একটি নিয়ন্ত্রিত স্থানীয় ফাইলে স্ট্রিম করুন এবং সেই ফাইল পার্স করুন, ডেটা ওয়ার্কফ্লো সমর্থন করলে চাঙ্কিং করে।

সম্পর্কিত নিবন্ধ