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 மற்றும் பைட் இடையகத்துடன் வேலை செய்கிறது, அந்த வடிவத்திற்குப் பொருத்தமான விரிதாள் இயந்திரத்தைப் பயன்படுத்தி.
இந்த எடுத்துக்காட்டு முழு பதிலையும் நினைவகத்தில் வைத்திருக்கிறது. பெரிய ஏற்றுமதிக்கு, அதை நிர்வகிக்கப்பட்ட உள்ளூர் கோப்புக்கு ஸ்ட்ரீம் செய்து அந்தக் கோப்பைப் பாகுபடுத்துங்கள், தரவு பணிப்பணி ஆதரிக்கும் இடத்தில் பிரிவுகளாகப் பிரித்து.