Modulinnhold¶
csv
-modulen definerer følgende funksjoner:
csv.
reader
(csvfile, dialect = «excel», ** fmtparams ) ¶
Returner et leserobjekt som vil iterere over linjer i den gitte csvfile.csvfile kan være et hvilket som helst objekt som støtter iteratorprotokollen og returnerer astring hver gang __next__()
-metoden kalles – filobjekter og listeobjekter er begge egnede. Hvis csvfile er et filobjekt, bør det åpnes med newline=""
. 1 Det kan gis en valgfri valgparameter som brukes til å definere et sett med parametere som er spesifikke for en bestemt CSV-dialekt. Det kan være en forekomst av en underklasse av Dialect
-klassen eller en av strengene som returneres av list_dialects()
-funksjonen. De andre valgfrie fmtparams søkeordargumentene kan gis for å overstyre individuelle formateringsparametere i gjeldende dialog. For fullstendig informasjon om dialekt- og formateringsparametrene, se avsnitt Dialekter og formateringsparametere.
Hver rad som leses fra csv-filen returneres som en liste over strenger. Ingen automatisk datatypekonvertering utføres med mindre QUOTE_NONNUMERIC
formatvalg er spesifisert (i så fall transformeres ikke siterte felt til flyter).
Et kort brukseksempel:
csv.
writer
(csvfile, dialect = «excel», ** fmtparams) ¶
Returner et forfatterobjekt som er ansvarlig for å konvertere brukerens data i avgrensede strenger på det gitte fillignende objektet. csvfile kan være et hvilket som helst objekt med en write()
-metode. Hvis csvfile er et filobjekt, bør det åpnes med newline=""
1. Det kan gis et valgfritt dialektparameter som brukes til å definere et sett med parametere som er spesifikke for CSV-dialekt. Det kan være en forekomst av en underklasse av Dialect
-klassen eller en av strengene som returneres av list_dialects()
-funksjonen. De andre valgfrie fmtparams søkeordargumentene kan gis for å overstyre individuelle formateringsparametere i gjeldende dialog. For fullstendige detaljer om dialekt- og formateringsparametrene, se avsnitt Dialekter og formateringsparametere. For å gjøre det så enkelt som mulig å grensesnitt med moduler som implementerer DB API, skrives verdien None
som den tomme strengen. Selv om dette ikke er omvendbar transformasjon, gjør det det lettere å dumpe SQL NULL-dataverdier til CSV-filer uten å forhåndsbehandle dataene som returneres fra et cursor.fetch*
-anrop. Alle andre ikke-strengdata er strenget med str()
før du blir skrevet.
Et kort brukseksempel:
csv.
register_dialect
(navn]) ¶
Knytt dialekt til navn. navnet må være en streng. Thedialect kan spesifiseres enten ved å sende en underklasse av Dialect
, eller av fmtparams søkeordargumenter, eller begge deler, med søkeordargumenter som overordner parametere for dialekten. For fullstendig informasjon om dialekt- og formateringsparametrene, se seksjonen Dialekter og formateringsparametere.
csv.
unregister_dialect
(navn) ¶
Slett dialekten tilknyttet navnet fra dialektregistret. Et Error
heves hvis navnet ikke er et registrert dialektnavn.
csv.
get_dialect
(navn) ¶
Returner dialekten som er knyttet til navnet. Et Error
heves hvis navn ikke er et registrert dialektnavn. Denne funksjonen returnerer en uforanderlig Dialect
.
csv.
list_dialects
() ¶
Returner navnene på alle registrerte dialekter.
csv.
field_size_limit
() ¶
Returnerer den gjeldende maksimale feltstørrelsen tillatt av parseren. Hvis new_limit er gitt, blir dette den nye grensen.
csv
-modulen definerer følgende klasser:
classcsv.
DictReader
(f, feltnavn = Ingen, restkey = Ingen, restval = Ingen, dialekt = «excel», * args, ** kwds) ¶
Opprett et objekt som fungerer som en vanlig leser, men tilordner informasjonen i hver rad til en dict
hvis nøkler er gitt av den valgfrie feltnavnparameteren.
Feltnavnparameteren er en sekvens. Hvis feltnavn ikke er angitt, vil verdiene i første rad med fil f bli brukt som feltnavn. Uansett hvordan feltnavnene blir bestemt, beholder ordboken den opprinnelige rekkefølgen.
Hvis en rad har flere felt enn feltnavn, blir de resterende dataene satt i alist og lagret med feltnavnet som er angitt av restkey (som standard er None
). Hvis en ikke-tom rad har færre felt enn feltnavn, fylles de utgående verdiene ut med verdien for restval (som er None
).
Alle andre valgfrie eller søkeordargumenter overføres til den underliggende reader
forekomsten.
Endret i versjon 3.6: Returrader er nå av typen OrderedDict
.
Endret i versjon 3.8: Returrader er nå av typen dict
.
Et kort brukseksempel:
klassecsv.
DictWriter
( f, feltnavn, restval = «», extrasaction = «raise», dialect = «excel», * args, ** kwds) ¶
Lag et objekt som fungerer som en vanlig forfatter, men som kartlegger ordbøker til utgangsrader. Feltnavneparameteren er en sequence
av nøkler som identifiserer rekkefølgen som verdiene i ordboken som sendes til writerow()
-metoden skrives til filef. Den valgfrie restvalsparameteren angir verdien som skal forstyrres hvis ordboken mangler en nøkkel i feltnavn. Hvis ordboken som sendes til writerow()
-metoden inneholder en nøkkel som ikke ble funnet i feltnavn, indikerer den valgfrie ekstraksjonsparameteren hvilken handling som skal utføres. Hvis den er satt til "raise"
, er standardverdien, ValueError
hevet. Hvis den er satt til "ignore"
, ignoreres ekstra verdier i ordboken. Alle andre valgfrie eller søkeordargumenter sendes til den underliggende writer
-forekomst.
Merk at i motsetning til DictReader
-klassen, er feltnavnene parameteren til DictWriter
-klassen er ikke valgfri.
Et kort brukseksempel:
klassecsv.
Dialect
¶
Klassen Dialect
er en beholderklasse som primært er avhengig av for sine attributter, som brukes til å definere parametrene for en spesifikk reader
eller writer
forekomst.
klassecsv.
excel
¶ Klassen excel
definerer de vanlige egenskapene til en Excel-generert CSV-fil. Den er registrert med dialektnavnet "excel"
. klasse csv.
excel_tab
¶
Klassen excel_tab
definerer de vanlige egenskapene til en Excel-generertTAB-avgrenset fil. Den er registrert med dialektnavnet "excel-tab"
.
klassecsv.
unix_dialect
¶
Klassen unix_dialect
definerer de vanlige egenskapene til en CSV-filegenerert på UNIX-systemer, dvs. bruker "\n"
som linjeterminator og sitatfelt. Den er registrert med dialektnavnet "unix"
.
Ny i versjon 3.2.
klassecsv.
Sniffer
¶
Sniffer
-klassen brukes til å utlede formatet til en CSV-fil.
Klassen Sniffer
gir to metoder:
sniff
(eksempel, avgrensere = Ingen) ¶
Analyser den gitte prøven og returner en Dialect
underklasse som reflekterer parameterne som er funnet. Hvis den valgfrie avgrensningsparameteren er gitt, tolkes den som en streng som inneholder mulige validdelimiter-tegn.
has_header
(eksempel) ¶
Analyser eksemplet på teksten (antas å være i CSV-format) og returner True
hvis den første raden ser ut til å være en serie kolonneoverskrifter.
Et eksempel på Sniffer
bruk:
csv
-modulen definerer følgende konstanter:
csv.
QUOTE_ALL
¶
Instruerer writer
objekter for å sitere alle felt.
csv.
QUOTE_MINIMAL
¶
Instruerer writer
objekter om bare å sitere de feltene som inneholder spesielle tegn som skilletegn, quotechar eller noen av tegnene inlineterminator.
csv.
QUOTE_NONNUMERIC
¶
instruerer writer
objekter om å sitere alle ikke-numeriske felt .
Be leseren om å konv ert alle ikke-siterte felt for å skrive float.
csv.
QUOTE_NONE
¶
Instruerer writer
motsetter seg å aldri sitere felt. Når strømavgrenseren forekommer i utdataene, går den foran den nåværende rømningstegnet. Hvis escapechar ikke er satt, vil forfatteren heve Error
hvis det oppstår noen tegn som krever rømning.
Instruerer reader
for å utføre ingen spesiell behandling av sitattegn.
csv
-modulen definerer følgende unntak:
unntakcsv.
Error