Python Requests আৰু csv.reader ৰ সৈতে বহু-শাৰী CSV ৰেকৰ্ড ষ্ট্ৰিম কৰক
এটা প্ৰক্সি হৈ যোৱা ৰেস্পনছ csv.reader লৈ ষ্ট্ৰিম কৰক আৰু প্ৰতিটো ভৌতিক শাৰী ডেলিমিটাৰত ভগোৱাৰ পৰিৱৰ্তে ৰেকৰ্ডৰ সীমা সংৰক্ষণ কৰক।
stream=True এ প্ৰক্সি হৈ অহা ৰেস্পনছৰ বডি সম্পূৰ্ণ ডাউনলোড হোৱাৰ আগতেই প্ৰচেছিং আৰম্ভ কৰিব দিয়ে। CSV ৰ বাবে csv.reader লৈ এটা টেক্সট-শাৰী ইটাৰেটৰ পাছ কৰক, যাতে উদ্ধৃতিৰ ভিতৰৰ ডেলিমিটাৰ আৰু বহু-শাৰী ৰেকৰ্ড CSV ডেটা হৈয়ে থাকে।
চেমিক’লন ব্যৱহাৰ কৰা এটা উদাহৰণমূলক UTF-8 ফাইলৰ বাবে:
import csv
import requests
routes = {'https': 'http://proxy.example:8080'}
with requests.get(
'https://data.example/observations.csv',
proxies=routes,
stream=True,
timeout=(5, 30),
) as response:
response.raise_for_status()
response.encoding = 'utf-8'
lines = (
line + '\n'
for line in response.iter_lines(
chunk_size=65536, decode_unicode=True)
)
for record in csv.reader(lines, delimiter=';'):
if record and record[0] == 'wanted':
print(record)
break
প্ৰকৃত ফাইলৰ এনক’ডিং আৰু ডায়েলেক্ট বাছি লওক। অনুমোদিত ৰাজহুৱা-প্ৰক্সি পথত ৰাজহুৱা CSV ডাউনলোডৰ বাবে, HTTP প্ৰক্সি তালিকা এ routes URL ৰ বাবে প্ৰাৰ্থী যোগান ধৰে। এই সংস্কৰণে ভৌতিক শাৰীৰ শেষবোৰ LF লৈ স্বাভাৱিক কৰে: iter_lines এ সিবোৰ আঁতৰায়, আৰু জেনেৰেটৰে CSV পাৰ্ছাৰৰ বাবে এটা নতুন শাৰী ঘূৰাই যোগ কৰে। যেতিয়া উদ্ধৃতিৰ ভিতৰৰ ফিল্ড এটা আন ভৌতিক শাৰীলৈ আগবাঢ়ি যায় তেতিয়া এইটো গুৰুত্বপূৰ্ণ।
এম্বেড কৰা CRLF আখৰবোৰ বাইট-সঠিকভাৱে সংৰক্ষণৰ প্ৰয়োজন হোৱা ৱৰ্কফ্ল’ৰ বাবে, সেই শাৰী-শেষবোৰ সংৰক্ষণ কৰা এটা ষ্ট্ৰিমিং টেক্সট-ৰেপাৰ ব্যৱস্থা ব্যৱহাৰ কৰক। উদাহৰণৰ ইচ্ছাকৃত স্বাভাৱিককৰণ ৰেকৰ্ড-কেন্দ্ৰিত প্ৰচেছিঙৰ বাবে উপযুক্ত য’ত LF ই অভিপ্ৰেত প্ৰতিনিধিত্ব।
এটা ৰেস্পনছ, বহুত পঢ়া
ইটাৰেটৰে এটা HTTP ৰেস্পনছৰ পৰা চাংক গ্ৰহণ কৰে। ই প্ৰতিটো শাৰীৰ বাবে নতুন অনুৰোধ নিদিয়ে। HTTP Range অনুৰোধ এটা বেলেগ ব্যৱস্থা আৰু স্বাভাৱিকভাৱে CSV ৰেকৰ্ডৰ সীমা চিনি নাপায়।
response.text মতা বা সকলো শাৰী এটা তালিকাত সংগ্ৰহ কৰিলে সম্পূৰ্ণ সমল পুনৰ মেম’ৰীলৈ আহে। ষ্ট্ৰিমিঙৰ তথাপিও পৰিবহন বাফাৰ আৰু বৰ্তমান ৰেকৰ্ডৰ বাবে ঠাই লাগে, যি নিজেই এটা ডাঙৰ ফিল্ড ধৰি ৰাখিব পাৰে।
ৰেস্পনছ কনটেক্সটে লুপ ওলোৱাৰ সময়ত বডি বন্ধ কৰে, আগতীয়া মিলসহ। ৰিড টাইমআউটে অহা ডেটাৰ বাবে অপেক্ষা সীমিত কৰে, ডাঙৰ ফাইল স্থানান্তৰৰ মুঠ জীৱনকাল নহয়।