Clàran CSV ioma-loidhne a shruthadh le Python Requests agus csv.reader
Sruth freagairt tro neach-ionaid a-steach do csv.reader agus glèidh crìochan nan clàr an àite gach loidhne fhiosaig a roinn aig an sgaradh.
Le stream=True, faodaidh an giollachd tòiseachadh mus bi corp freagairt tro neach-ionaid air a luchdadh a-nuas gu lèir. Airson CSV, cuir ath-aithrisiche loidhnichean teacsa gu csv.reader gus am fuirich sgaradh eadar comharran-labhairt agus clàran ioma-loidhne nan dàta CSV.
Airson faidhle UTF-8 mar eisimpleir le leth-cholon:
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
Tagh fìor chòdachadh agus dualchainnt an fhaidhle. Airson luchdadh a-nuas CSV poblach air slighe neach-ionaid phoblach ceadaichte, tha an liosta neach-ionaid HTTP a' tabhann thagraichean airson URL routes. Bidh an tionndadh seo a' gnàthachadh chrìochan loidhne fiosaigeach gu LF: bheir iter_lines air falbh iad, agus cuiridh an gineadair loidhne ùr air ais airson am parsair CSV. Tha sin cudromach nuair a leanas raon eadar comharran-labhairt air loidhne fhiosaig eile.
Airson sruthan-obrach a dh'fheumas gleidheadh ceart de na caractaran CRLF freumhaichte, cleachd suidheachadh pasgaidh teacsa sruthaidh a ghlèidheas na crìochan loidhne sin. Tha gnàthachadh a dh'aona ghnothaich san eisimpleir freagarrach airson giollachd a tha ag amas air clàran far a bheil LF na riochdachadh a thathar ag iarraidh.
Aon fhreagairt, mòran leughaidhean
Bidh an t-ath-aithrisiche ag ithe pìosan bho aon fhreagairt HTTP. Cha chuir e a-mach iarrtas ùr airson gach loidhne. Is e inneal eile a th' ann an iarrtasan HTTP Range agus chan eil iad a' comharrachadh chrìochan chlàran CSV gu nàdarrach.
Bheireadh gairm air response.text no cruinneachadh nan ròn gu lèir ann an liosta an t-susbaint gu lèir air ais don chuimhne. Feumaidh sruthadh àite fhathast airson bufairean giùlain agus a' chlàr làithreach, a dh'fhaodas raon mòr a bhith ann fhèin.
Bidh co-theacs na freagairt a' dùnadh a' chuirp nuair a dh'fhàgas an lùb, a' gabhail a-steach maireannach tràth. Tha an ùine-leughaidh a' cuingealachadh feitheimh airson dàta a-staigh, chan e fad-beatha iomlan gluasad faidhle mòir.