Ligeann stream=True don phróiseáil tosú sula mbíonn corp freagra trí sheachfhreastalaí íoslódáilte go hiomlán. Le haghaidh CSV, cuir atreoraitheoir línte téacs chuig csv.reader ionas go bhfanfaidh deighilteoirí idir chomharthaí athfhriotail agus taifid il-líne mar shonraí CSV.

Le haghaidh comhad UTF-8 léiritheach a úsáideann leathstadanna:

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

Roghnaigh ionchódú agus canúint iarbhír an chomhaid. Le haghaidh íoslódáil CSV poiblí ar bhealach seachfhreastalaí poiblí ceadaithe, soláthraíonn an liosta seachfhreastalaithe HTTP iarrthóirí don URL routes. Déanann an leagan seo deirí líne fisiciúla a normalú go LF: baineann iter_lines iad, agus cuireann an gineadóir líne nua ar ais don pharsálaí CSV. Tá tábhacht leis sin nuair a leanann réimse idir chomharthaí athfhriotail ar líne fhisiciúil eile.

Le haghaidh sreafaí oibre a éilíonn caomhnú beacht de réir beart ar na carachtair CRLF leabaithe, úsáid socrú timfhilleadh téacs sruthaithe a chaomhnaíonn na deirí líne sin. Oireann normalú d'aon ghnó an tsampla do phróiseáil atá dírithe ar thaifid ina bhfuil LF mar an léiriú beartaithe.

Freagra amháin, go leor léamh

Ídíonn an t-atreoraitheoir smután ó fhreagra HTTP amháin. Ní eisíonn sé iarratas nua do gach líne. Is meicníocht eile iad iarratais HTTP Range agus ní aithníonn siad teorainneacha taifead CSV go nádúrtha.

Thabharfadh glaoch ar response.text nó gach ró a bhailiú i liosta an t-ábhar iomlán ar ais chuig an gcuimhne. Teastaíonn spás ó shruthú fós do mhaoláin iompair agus don taifead reatha, a d'fhéadfadh réimse mór a bheith ann féin.

Dúnann comhthéacs an fhreagra an corp nuair a fhágann an lúb, lena n-áirítear teacht luath. Cuireann an teorainn ama léitheoireachta teorainn le fanacht ar shonraí isteach, ní le saolré iomlán aistrithe comhaid mhóir.

Ailt ghaolmhara