អាន CSV តាមរយៈ proxy ជាមួយ pandas និង Requests
ទាញយក CSV ដោយប្រើ Requests transport ដែលបានកំណត់ ពិនិត្យលទ្ធផល HTTP ហើយផ្តល់ byte buffer ដល់ pandas ដើម្បីញែកវិភាគ។
នៅពេលផ្លូវ HTTP ត្រូវការការគ្រប់គ្រង proxy ច្បាស់លាស់ សូមទាញយក CSV ជាមុន ហើយទុកឱ្យ pandas ដោះស្រាយ bytes ដែលទទួលបាន៖
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')
Proxy គ្រប់គ្រងការដឹកជញ្ជូន។ បញ្ជី proxy HTTP ផ្តល់បេក្ខជនចំណុចបញ្ចប់សម្រាប់ផ្លូវ HTTP សាធារណៈ។ pandas ទទួលវត្ថុដូចឯកសារ ហើយអនុវត្តជម្រើសធម្មតារបស់វាសម្រាប់សញ្ញាបំបែក ជួរឈរ ការអ៊ិនកូដ និងប្រភេទទិន្នន័យ។
ការពិនិត្យលទ្ធផល HTTP មុនការញែកវិភាគជៀសវាងការចាត់ទុកតួកំហុស HTTP ច្បាស់លាស់ជាតារាង។ ពិនិត្យមាតិកាដែលមិនរំពឹងទុកផងដែរ៖ ទំព័រចូល ឬទំព័រគោលនយោបាយអាចត្រឡប់ 200 ហើយនៅតែជា HTML ជំនួស CSV ដែលបានស្នើ។
សម្រាប់ URL HTTP storage_options របស់ read_csv ត្រូវបានបញ្ជូនជា header សំណើ។ ចំណុចប្រទាក់នោះមិនមែនជាការផ្គូផ្គង proxies បែប Requests ទេ។
Buffer មិនមានឈ្មោះឯកសារសារពើភណ្ឌដើម្បីណែនាំការសន្និដ្ឋានបង្ហាប់ទេ។ បញ្ជាក់ compression នៅពេល payload ដែលទាញបានត្រូវការវា។ ការរៀបចំទាញមុនដូចគ្នាដំណើរការជាមួយ read_excel និង byte buffer ដោយប្រើ engine សៀវភៅបញ្ជីដែលសមស្របនឹងទ្រង់ទ្រាយនោះ។
ឧទាហរណ៍នេះរក្សាការឆ្លើយតបទាំងមូលក្នុងអង្គចងចាំ។ សម្រាប់ការនាំចេញធំ សូម stream វាទៅឯកសារមូលដ្ឋានដែលបានគ្រប់គ្រង ហើយញែកវិភាគឯកសារនោះ ដោយបែងចែកជាកំណាត់នៅកន្លែងដែលលំហូរការងារទិន្នន័យគាំទ្រ។