pandas ۋە Requests ئارقىلىق proxy ئارقىلىق CSV ئوقۇش
Requests transport ئارقىلىق CSV ئېلىڭ، HTTP نەتىجىسىنى تەكشۈرۈڭ، pandas غا تەھلىل قىلىش ئۈچۈن byte buffer بېرىڭ.
HTTP يولى ئېنىق proxy كونترول قىلىشنى تەلەپ قىلغاندا، ئالدى بىلەن CSV نى ئېلىڭ، كەلگەن byte لارنى 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')
Proxy توشۇشنى باشقۇرىدۇ؛ HTTP proxy تىزىملىكى ئاممىۋى HTTP يولى ئۈچۈن ئاخىرقى نۇقتا نامزاتلىرىنى تەمىنلەيدۇ. pandas ھۆججەتكە ئوخشاش ئوبيېكتنى قوبۇل قىلىپ، ئادەتتىكى delimiter، column، encoding ۋە data-type تاللانمىلىرىنى قوللىنىدۇ.
تەھلىلدىن بۇرۇن HTTP نەتىجىسىنى تەكشۈرۈش ئېنىق HTTP خاتالىق گەۋدىسىنى جەدۋەل دەپ قاراشنىڭ ئالدىنى ئالىدۇ. كۈتۈلمىگەن مەزمۇننىمۇ تەكشۈرۈڭ: كىرىش ياكى سىياسەت بېتى 200 قايتۇرۇپ، تەلەپ قىلىنغان CSV نىڭ ئورنىغا يەنىلا HTML بولۇشى مۇمكىن.
HTTP URL لار ئۈچۈن، read_csv نىڭ storage_options سوراق باشلىقى سۈپىتىدە يوللىنىدۇ. بۇ كۆرۈنمە يۈزى Requests ئۇسلۇبىدىكى proxies خەرىتىسى ئەمەس.
Buffer نىڭ پىرىسلاش پەرەزىنى يېتەكلەيدىغان ئارخىپ ھۆججەت نامى يوق. ئېلىنغان payload تەلەپ قىلسا compression نى بەلگىلەڭ. ئوخشاش ئالدىن-ئېلىش تەرتىپى read_excel ۋە byte buffer بىلەنمۇ ئىشلەيدۇ، شۇ فورماتقا ماس جەدۋەل ماتورىنى ئىشلىتىپ.
بۇ مىسال پۈتۈن جاۋابنى ئىچكى ساقلىغۇچتا ساقلايدۇ. چوڭ ئېكسپورت ئۈچۈن، ئۇنى باشقۇرۇلىدىغان يەرلىك ھۆججەتكە stream قىلىڭ ۋە شۇ ھۆججەتنى تەھلىل قىلىڭ، سانلىق مەلۇمات ئىش ئېقىمى قوللىسا بۆلەكلەرگە بۆلۈپ.