Conținutul modulului¶
csv
modulul definește următoarele funcții:
csv.
reader
(csvfile, dialect = „excel”, ** fmtparams ) ¶
Returnează un obiect cititor care va itera peste liniile din csvfile.csvfile dat poate fi orice obiect care acceptă protocolul iterator și returnează astring de fiecare dată când se numește metoda __next__()
– obiectele fișier și obiectele listei sunt ambele potrivite. Dacă csvfile este un obiect fișier, ar trebui să fie deschis cu newline=""
. 1 Se poate da un parametru opțional dialect care este utilizat pentru a defini un set de parametri specifici unui anumit dialect CSV. Poate fi o instanță a unei subclase din clasa Dialect
sau una dintre șirurile returnate de funcția list_dialects()
. Celelalte argumente opționale ale cuvintelor cheie fmtparams pot fi date pentru a suprascrie parametrii individuali de formatare din dialectul curent. Pentru detalii complete despre dialect și parametrii de formatare, consultați secțiunea Dialecte și parametri de formatare.
Fiecare rând citit din fișierul CSV este returnat ca o listă de șiruri. Nu se efectuează conversie automată a tipului de date, cu excepția cazului în care este specificată opțiunea QUOTE_NONNUMERIC
(caz în care câmpurile necotate sunt transformate în flotante).
Un scurt exemplu de utilizare:
csv.
writer
(csvfile, dialect = „excel”, ** fmtparams) ¶
Returnează un obiect scriitor responsabil de conversia datele utilizatorului în șiruri delimitate pe obiectul asemănător fișierului. csvfile poate fi orice obiect cu o metodă write()
. Dacă csvfile este un obiect de fișier, ar trebui să fie deschis cu newline=""
1. Se poate da un parametru de dialect opțional care este utilizat pentru a defini un set de parametri specifici dialectului CSV particular. Poate fi o instanță a unei subclase din clasa Dialect
sau una dintre șirurile returnate de funcția list_dialects()
. Celelalte argumente opționale ale cuvintelor cheie fmtparams pot fi date pentru a suprascrie parametrii individuali de formatare din dialectul curent. Pentru detalii complete despre dialect și parametrii de formatare, consultați secțiunea Dialecte și parametri de formatare. Pentru a face cât mai ușoară interfața cu modulele care implementează API-ul DB, valoarea None
este scrisă ca șirul gol. Deși aceasta nu este o transformare inversabilă, este mai ușor să descărcați valorile de date SQL NULL în fișierele CSV fără a preprocesa datele returnate dintr-un apel cursor.fetch*
. Toate celelalte date non-string sunt strânse cu str()
înainte de a fi scris.
Un scurt exemplu de utilizare:
csv.
register_dialect
(nume]) ¶
Asociați dialectul cu numele. numele trebuie să fie un șir. Dialectul poate fi specificat fie prin trecerea unei sub-clase de Dialect
, fie prin argumente de cuvinte cheie fmtparams, sau ambele, cu argumente de cuvinte cheie care suprascriu parametrii dialectului. Pentru detalii complete despre dialect și parametrii de formatare, consultați secțiunea Dialecte și parametri de formatare.
csv.
unregister_dialect
(nume) ¶
Ștergeți dialectul asociat cu numele din registrul de dialecte. Un Error
este ridicat dacă numele nu este un nume de dialect înregistrat.
csv.
get_dialect
(nume) ¶
Returnează dialectul asociat cu numele. Un Error
este ridicat dacă numele nu este un nume de dialect înregistrat. Această funcție returnează un Dialect
imuabil.
csv.
list_dialects
() ¶
Returnează numele tuturor dialectelor înregistrate.
csv.
field_size_limit
() ¶
Returnează dimensiunea maximă actuală a câmpului permis de analizor. Dacă se dă new_limit, aceasta devine noua limită.
Modulul csv
definește următoarele clase:
classcsv.
DictReader
(f, fieldnames = None, restkey = None, restval = None, dialect = „excel”, * args, ** kwds) ¶
Creați un obiect care funcționează ca un cititor obișnuit, dar mapează informațiile din fiecare rând la un dict
ale cărui chei sunt date de parametrul opțional fieldnames.
Parametrul fieldnames este o secvență. Dacă numele de câmp sunt omise, valorile din primul rând al fișierului f vor fi utilizate ca nume de câmp. Indiferent de modul de determinare a numelor de câmp, dicționarul își păstrează ordonarea inițială.
Dacă un rând are mai multe câmpuri decât nume de câmp, datele rămase sunt puse în listă și stocate cu numele câmpului specificat de restkey id = „bd38dcefe8”> ). Dacă un rând care nu este gol are mai puține câmpuri decât numele câmpurilor, valorile care le lipsesc sunt completate cu valoarea restval (care implicit None
).
Toate celelalte argumente opționale sau cuvinte cheie sunt transmise instanței reader
subiacente.
Modificate în versiunea 3.6: rândurile returnate sunt acum de tip OrderedDict
.
Modificat în versiunea 3.8: rândurile returnate sunt acum de tip dict
.
Un scurt exemplu de utilizare:
classcsv.
DictWriter
( f, fieldnames, restval = „”, extrasaction = „raise”, dialect = „excel”, * args, ** kwds) ¶
Creați un obiect care funcționează ca un scriitor obișnuit, dar mapează dicționare pe rânduri de ieșire. Parametrul fieldnames este un sequence
de chei care identifică ordinea în care valorile din dicționar trecute la metoda writerow()
sunt scrise în filef. Parametrul opțional restval specifică valoarea care trebuie scrisă în cazul în care în dicționar lipsește o cheie în numele câmpurilor. Dacă dicționarul trecut la metoda writerow()
conține o cheie care nu a fost găsită în nume de câmp, parametrul opțional de extracțiune indică ce acțiune trebuie luată. Dacă este setat la "raise"
, valoarea implicită, este ridicat un ValueError
. Dacă este setat la "ignore"
, valorile suplimentare din dicționar sunt ignorate. argumentele opționale sau de cuvinte cheie sunt transmise instanței writer
subiacente.
Rețineți că spre deosebire de clasa DictReader
, numele câmpurilor parametrul clasei DictWriter
nu este opțional.
Un scurt exemplu de utilizare:
clasacsv.
Dialect
¶
Clasa Dialect
este o clasă de containere pe care se bazează în principal pentru atributele sale, care sunt utilizate pentru a defini parametrii pentru un anumit reader
sau writer
instanță.
classcsv.
excel
¶
Clasa excel
definește proprietățile uzuale ale unui fișier CSV generat de Excel. Este înregistrat cu numele dialectului "excel"
.
classcsv.
excel_tab
¶
Clasa excel_tab
definește proprietățile uzuale ale unui fișier delimitat de TAB generat de Excel. Este înregistrat cu numele dialectului "excel-tab"
.
classcsv.
unix_dialect
¶
Clasa unix_dialect
definește proprietățile uzuale ale unui fișier CSV generat pe sistemele UNIX, adică folosind "\n"
ca terminator de linie și citând toate câmpurile. Este înregistrat cu numele dialectului "unix"
.
Nou în versiunea 3.2.
clasacsv.
Sniffer
¶
Clasa Sniffer
este utilizată pentru a deduce formatul unui fișier CSV.
Clasa Sniffer
oferă două metode:
sniff
(eșantion, delimitatori = Niciuna) ¶
Analizează eșantionul dat și returnează o Dialect
subclasă care reflectă parametrii găsiți. Dacă parametrul delimitator opțional este dat, acesta este interpretat ca un șir care conține posibile caractere validdelimiter.
has_header
(eșantion) ¶
Analizează textul eșantionului (se presupune că este în Format CSV) și returnează True
dacă primul rând pare a fi o serie de anteturi de coloană.
Un exemplu pentru Sniffer
use:
Modulul csv
definește următoarele constante:
csv.
QUOTE_ALL
¶
Instruiește writer
obiectelor să citeze toate câmpurile.
csv.
QUOTE_MINIMAL
¶
Instruiește obiectele writer
să citeze numai acele câmpuri care conțin caractere speciale precum delimitator, quotechar sau oricare dintre caracterele inlineterminator.
csv.
QUOTE_NONNUMERIC
¶
Instruiește obiectelor writer
să citeze toate câmpurile nenumerice .
Indică cititorului să convoace ert toate câmpurile necotate pentru a tasta float.
csv.
QUOTE_NONE
¶
Instrucțiuni writer
obiecte care să nu citeze niciodată câmpuri. Când limita curentă apare în datele de ieșire, aceasta este precedată de caracterul curent de evadare. Dacă escapechar nu este setat, scriitorul va ridica Error
dacă se întâlnesc orice caractere care necesită evadare.
Instrucțiuni reader
să nu efectuați nicio prelucrare specială a caracterelor ghilimele.
Modulul csv
definește următoarea excepție:
exceptioncsv.
Error