Modulindhold¶
csv
-modulet definerer følgende funktioner:
csv.
reader
(csvfile, dialect = “excel”, ** fmtparams ) ¶
Returner et læserobjekt, der vil gentage sig over linjer i det givne csvfile.csvfile kan være ethvert objekt, der understøtter iteratorprotokollen og vender tilbage, hver gang dets __next__()
metode kaldes – filobjekter og listeobjekter er begge egnede. Hvis csvfile er et filobjekt, skal det åbnes med newline=""
. 1 Der kan gives en valgfri dialektparameter, der bruges til at definere et sæt parametre, der er specifikt for en bestemt CSV-dialekt. Det kan være en forekomst af en underklasse af klassen Dialect
eller en af strengene, der returneres af funktionen list_dialects()
. De andre valgfri fmtparams-søgeordsargumenter kan gives til at tilsidesætte individuelle formateringsparametre i den aktuelle dialog. For fuldstændige detaljer om dialekt- og formateringsparametrene, se sektion Dialekter og formateringsparametre.
Hver række, der læses fra csv-filen, returneres som en liste over strenge. Ingen automatisk datatypekonvertering udføres, medmindre QUOTE_NONNUMERIC
formatoption er specificeret (i hvilket tilfælde ikke-citerede felter omdannes til floats).
Et kort brugseksempel:
csv.
writer
(csvfile, dialect = “excel”, ** fmtparams) ¶
Returner et forfatterobjekt, der er ansvarligt for at konvertere brugerens data i afgrænsede strenge på det givne fillignende objekt. csvfile kan være ethvert objekt med en write()
metode. Hvis csvfile er et filobjekt, skal det åbnes med newline=""
1. Der kan gives et valgfrit dialektparameter, som bruges til at definere et sæt parametre, der er specifikke for den specielle CSV-dialekt. Det kan være en forekomst af en underklasse af klassen Dialect
eller en af strengene, der returneres af funktionen list_dialects()
. De andre valgfri fmtparams-søgeordsargumenter kan gives til at tilsidesætte individuelle formateringsparametre i den aktuelle dialog. For detaljerede oplysninger om dialekt- og formateringsparametrene, se sektion Dialekter og formateringsparametre. For at gøre det så let som muligt at interface med moduler, der implementerer DB API, er værdien None
skrevet som den tomme streng. Selvom dette ikke er omvendt transformation, gør det det nemmere at dumpe SQL NULL-dataværdier til CSV-filer uden forbehandling af de data, der returneres fra et cursor.fetch*
-opkald. Alle andre ikke-strengede data er strengt str()
inden der skrives.
Et kort brugseksempel:
csv.
register_dialect
(navn]) ¶
Associer dialekt med navn. navn skal være en streng. Thedialect kan angives enten ved at sende en underklasse af Dialect
eller af fmtparams søgeordsargumenter eller begge, med nøgleordargumenter, der overskrider parametre for dialekten. For detaljerede oplysninger om dialekt- og formateringsparametrene, se afsnittet Dialekter og formateringsparametre.
csv.
unregister_dialect
(navn) ¶
Slet dialekten, der er knyttet til navnet, fra dialektregistret. Et Error
hæves, hvis navnet ikke er et registreret dialektnavn.
csv.
get_dialect
(navn) ¶
Returner dialekten tilknyttet navnet. Et Error
hæves, hvis navn ikke er et registreret dialektnavn. Denne funktion returnerer en uforanderlig Dialect
.
csv.
list_dialects
() ¶
Returner navnene på alle registrerede dialekter.
csv.
field_size_limit
() ¶
Returnerer den aktuelle maksimale feltstørrelse tilladt af parseren. Hvis der gives ny_begrænsning, bliver dette den nye grænse.
csv
-modulet definerer følgende klasser:
klassecsv.
DictReader
(f, feltnavne = Ingen, restkey = Ingen, restval = Ingen, dialekt = “excel”, * args, ** kwds) ¶
Opret et objekt der fungerer som en almindelig læser, men kortlægger informationen i hver række til en dict
, hvis nøgler er angivet af den valgfrie feltnavne-parameter.
Feltnavne-parameteren er en sekvens. Hvis feltnavne ikke er angivet, bruges værdierne i første række af fil f som feltnavne. Uanset hvordan feltnavne bestemmes, bevarer ordbogens oprindelige rækkefølge.
Hvis en række har flere felter end feltnavne, placeres de resterende data i alist og gemmes med det feltnavn, der er angivet med restkey (som standard er None
). Hvis en ikke-blank række har færre felter end feltnavne, udfyldes de værdier, der mangler, med værdien for restval (som standard None
).
Alle andre valgfri eller søgeordsargumenter sendes til den underliggende reader
-forekomst.
Ændret i version 3.6: Returnerede rækker er nu af typen OrderedDict
.
Ændret i version 3.8: Returnerede rækker er nu af typen dict
.
Et kort brugseksempel:
klassecsv.
DictWriter
( f, feltnavne, restval = “”, extrasaction = “hæve”, dialekt = “excel”, * args, ** kwds) ¶
Opret et objekt, der fungerer som en almindelig forfatter, men kortlægger ordbøger til outputrækker. Feltnavneparameteren er en sequence
af nøgler, der identificerer rækkefølgen, i hvilken værdier i ordet, der sendes til writerow()
-metoden, skrives til filef. Den valgfri restval-parameter specificerer den værdi, der skal omskilles, hvis ordbogen mangler en nøgle i feltnavne. Hvis ordet, der sendes til writerow()
-metoden, indeholder en nøgle, der ikke findes infieldnames, angiver den valgfri ekstraktionsparameter, hvilken handling der skal foretages. Hvis den er indstillet til "raise"
, standardværdien hæves en ValueError
. Hvis den er indstillet til "ignore"
, ignoreres ekstra værdier i ordbogen. Enhver anden valgfri eller søgeordsargumenter videregives til den underliggende writer
-forekomst.
Bemærk, at i modsætning til klassen DictReader
er feltnavne parameter af DictWriter
-klassen er ikke valgfri.
Et kort brugseksempel:
klassecsv.
Dialect
¶
Dialect
klassen er en beholderklasse, der primært er afhængig af for sine attributter, som bruges til at definere parametrene for en bestemt reader
eller writer
forekomst.
klassecsv.
excel
¶ excel
klassen definerer de sædvanlige egenskaber for en Excel-genereret CSV-fil. Det er registreret med dialektnavnet "excel"
. klasse csv.
excel_tab
¶
Klassen excel_tab
definerer de sædvanlige egenskaber for en Excel-genereretTAB-afgrænset fil. Det er registreret med dialektnavnet "excel-tab"
.
klassecsv.
unix_dialect
¶
Klassen unix_dialect
definerer de sædvanlige egenskaber for en CSV-filegenereret på UNIX-systemer, dvs. ved hjælp af "\n"
som linjeterminator og citerer alle felter. Det er registreret med dialektnavnet "unix"
.
Nyt i version 3.2.
klassecsv.
Sniffer
¶
Klassen Sniffer
bruges til at udlede formatet på en CSV-fil.
Klassen Sniffer
giver to metoder:
sniff
(prøve, afgrænsere = Ingen) ¶
Analyser den givne prøve og returner en Dialect
underklasse, der reflekterer de fundne parametre. Hvis den valgfri afgrænsningsparameter er givet, fortolkes den som en streng, der indeholder mulige validdelimiter-tegn.
has_header
(prøve) ¶
Analyser prøveteksten (formodes at være i CSV-format), og returner True
, hvis den første række ser ud til at være en række kolonneoverskrifter.
Et eksempel på Sniffer
use:
csv
modulet definerer følgende konstanter:
csv.
QUOTE_ALL
¶
Instruerer writer
objekter til at citere alle felter.
csv.
QUOTE_MINIMAL
¶
Instruerer writer
objekter til kun at citere de felter, der indeholder specielle tegn såsom afgrænser, citattegn eller et hvilket som helst af tegnene i inlineterminator.
csv.
QUOTE_NONNUMERIC
¶
Instruerer writer
objekter til at citere alle ikke-numeriske felter .
Beder læseren om at konv ert alle ikke-citerede felter for at skrive float.
csv.
QUOTE_NONE
¶
Instruerer writer
modsætter sig aldrig at citere felter. Når strømafgrænseren forekommer i outputdata, indledes den med den aktuelle escapecharakter. Hvis escapechar ikke er indstillet, hæver forfatteren Error
, hvis der opstår nogen tegn, der kræver escaping.
Instruerer reader
for at udføre ingen speciel behandling af citattegn.
csv
-modulet definerer følgende undtagelse:
undtagelsecsv.
Error