Moduulin sisältö¶
csv
-moduuli määrittelee seuraavat toiminnot:
csv.
reader
(csvfile, dialect = ”excel”, ** fmtparams ) ¶
Palauta lukijaobjekti, joka toistaa rivien yli annetussa csvfile.csvfile-tiedostossa voi olla mikä tahansa objekti, joka tukee iteraattoriprotokollaa ja palauttaa astringin joka kerta, kun sen __next__()
-menetelmää kutsutaan – tiedostoobjektit ja luetteloobjektit ovat molemmat sopivia. Jos csvfile on tiedostoobjekti, se on avattava newline=""
-merkillä. 1 Voidaan antaa optionaldialect-parametri, jota käytetään määrittelemään tiettyyn CSV-murteeseen liittyvä parametrijoukko. Se voi olla Dialect
-luokan aliluokan esiintymä tai jokin merkkijonoista, jotka funktio list_dialects()
palauttaa. Muut valinnaiset fmtparams-avainsana-argumentit voidaan antaa korvaamaan yksittäiset muotoiluparametrit currentdialectissa. Lisätietoja murreesta ja muotoiluparametreista on kohdassa Murteet ja muotoiluparametrit.
Jokainen csv-tiedostosta luettu rivi palautetaan merkkijonoluettelona. Ei automaattista tietotyyppimuunnosta suoritetaan, ellei muotoiluvaihtoehtoa QUOTE_NONNUMERIC
määritetä (tällöin noteeraamattomat kentät muunnetaan kelluviksi).
Lyhyt käyttöesimerkki:
csv.
writer
(csvfile, dialect = ”excel”, ** fmtparams) ¶
Palauta kirjoittajaobjekti, joka on vastuussa käyttäjän tiedot eroteltuina merkkijonoina tietyssä tiedostomaisessa objektissa. csvfile voi olla mikä tahansa objekti, jolla on write()
-menetelmä. Jos csvfile on tiedosto-objekti, se on avattava newline=""
1: llä. Voidaan antaa valinnainen dialektiparametri, jota käytetään määrittelemään joukko parametreja, jotka ovat erityisiä CSV-murreille. Se voi olla Dialect
-luokan aliluokan esiintymä tai jokin merkkijonoista, jotka funktio list_dialects()
palauttaa. Muut valinnaiset fmtparams-avainsana-argumentit voidaan antaa korvaamaan yksittäiset muotoiluparametrit currentdialectissa. Lisätietoja murreesta ja muotoiluparametreista on kohdassa Murteet ja muotoiluparametrit. Jotta DB-sovellusliittymää käyttävien moduulien käyttöliittymä olisi mahdollisimman helppoa, thevalue None
kirjoitetaan tyhjänä merkkijonona. Vaikka tämä ei ole peruuttamaton muunnos, se helpottaa SQL NULL -data-arvojen tyhjentämistä CSV-tiedostoihin käsittelemättä cursor.fetch*
-puhelusta palautettuja tietoja. Kaikki muut merkkijonottomat tiedot on str()
ennen kirjoittamista.
Lyhyt käyttöesimerkki:
csv.
register_dialect
(nimi]) ¶
Liitä murre nimeen. nimen on oltava merkkijono. Thedialect voidaan määrittää joko välittämällä alaluokka Dialect
, tai kirjoittamalla fmtparams-avainsana-argumentit tai molemmat avainsana-argumenteilla, jotka ohittavat murteen parametrit. Täydelliset tiedot murteesta ja muotoiluparametreista on kohdassa Murteet ja muotoiluparametrit.
csv.
unregister_dialect
(nimi) ¶
Poista nimiin liittyvä murre murderekisteristä. Error
korotetaan, jos nimi ei ole rekisteröity murteen nimi.
csv.
get_dialect
(nimi) ¶
Palauta nimeen liittyvä murre. Error
korotetaan, jos nimi ei ole rekisteröity murre nimi. Tämä funktio palauttaa muuttumattoman Dialect
.
csv.
list_dialects
() ¶
Palauta kaikkien rekisteröityjen murteiden nimet.
csv.
field_size_limit
() ¶
Palauttaa nykyisen kentän enimmäiskoon jäsennin sallii. Jos new_limit annetaan, tästä tulee uusi raja.
Moduuli csv
määrittelee seuraavat luokat:
classcsv.
DictReader
(f, kentänimet = Ei mitään, restkey = Ei mitään, restval = Ei mitään, murre = ”excel”, * args, ** kwds) ¶
Luo objekti joka toimii kuin tavallinen lukija, mutta kartoittaa jokaisen rivin tiedot dict
-tietoon, jonka avaimet antaa valinnainen kenttänimiparametri.
Kenttänimien parametri on sekvenssi. Jos kentänimiä ei anneta, tiedoston f ensimmäisen rivin arvoja käytetään kenttäniminä. Riippumatta siitä, miten kentänimet määritetään, sanakirja säilyttää niiden alkuperäisen järjestyksen.
Jos rivillä on enemmän kenttiä kuin kenttänimiä, jäljellä olevat tiedot lisätään luetteloon ja tallennetaan restkey-määritetyn kentän nimen kanssa (mikä oletuksena None
). Jos muulla kuin tyhjällä rivillä on vähemmän kenttiä kuin kenttänimet, ne täydentävät uudelleenarvot (jotka oletusarvoisesti None
).
Kaikki muut valinnaiset tai avainsana-argumentit välitetään taustalla olevalle reader
-instanssille.
Muutettu versiossa 3.6: Palautetut rivit ovat nyt tyyppiä OrderedDict
.
Muutettu versiossa 3.8: Palautetut rivit ovat nyt tyyppiä dict
.
Lyhyt käyttöesimerkki:
classcsv.
DictWriter
( f, kentänimet, restval = ””, extrasaction = ”korota”, murre = ”excel”, * args, ** kwds) ¶
Luo objekti, joka toimii tavallisen kirjoittajan tapaan, mutta kartoittaa sanakirjoja tulostusriveille. Fieldnames-parametri on sequence
avaimia, jotka tunnistavat järjestyksen, jossa writerow()
-menetelmälle välitetyt sanakirjan arvot kirjoitetaan tiedostoon. Valinnainen restval-parametri määrittää arvon, joka kirjoitetaan, jos sanakirjasta puuttuu avain kentän nimissä. Jos writerow()
-menetelmälle välitetty sanakirja sisältää avaimen, jota ei löydy sisänimiä, valinnainen ekstrasaktioparametri ilmaisee, mitä toimintoa toteutetaan. Jos se on asetettu arvoon "raise"
, oletusarvo, a ValueError
korotetaan. Jos se on asetettu arvoon "ignore"
, sanakirjan ylimääräiset arvot jätetään huomioimatta. valinnainen tai avainsana-argumentti välitetään taustalla olevalle writer
-instanssille.
Huomaa, että toisin kuin luokassa DictReader
, kentänimet DictWriter
-luokan parametri ei ole valinnainen.
Lyhyt käyttöesimerkki:
classcsv.
Dialect
¶
Luokka Dialect
on säilöluokka, johon käytetään ensisijaisesti attribuuttejaan, joita käytetään määrittämään parametrit tietylle reader
tai writer
ilmentymä.
classcsv.
excel
¶ Luokka excel
määrittelee Excelin luoman CSV-tiedoston tavalliset ominaisuudet. Se on rekisteröity murteen nimellä "excel"
. class csv.
excel_tab
¶
Luokka excel_tab
määrittelee Excel-generoidun TAB-erotetun tiedoston tavalliset ominaisuudet. Se on rekisteröity murteen nimellä "excel-tab"
.
classcsv.
unix_dialect
¶
Luokka unix_dialect
määrittelee UNIX-järjestelmissä tuotetun CSV: n tavanomaiset ominaisuudet, ts. "\n"
käytetään rivinvaihtajana ja lainausmerkkikentinä. Se on rekisteröity murteen nimellä "unix"
.
Uusi versiossa 3.2.
classcsv.
Sniffer
¶
Luokkaa Sniffer
käytetään CSV-tiedoston muodon päättelemiseen.
Luokassa Sniffer
on kaksi tapaa:
sniff
(näyte, erottimet = Ei mitään) annettu näyte ja palauta löydettyjen parametrien heijastavaDialect
aliluokka. Jos valinnainen erotinparametri annetaan, se tulkitaan merkkijonoksi, joka sisältää mahdollisia validdelimiter-merkkejä.has_header
(näyte) ¶
Analysoi esimerkkiteksti (oletetaan olevan CSV-muoto) ja palauta True
, jos ensimmäinen rivi näyttää olevan sarakeotsikoiden sarja.
Esimerkki Sniffer
use:
csv
-moduuli määrittelee seuraavat vakiot:
csv.
QUOTE_ALL
¶
käskee writer
-objekteja lainata kaikkia kenttiä.
csv.
QUOTE_MINIMAL
¶
kehottaa writer
objekteja lainaan vain ne kentät, jotka sisältävät erikoismerkkejä, kuten erottimen, lainausmerkin tai minkä tahansa merkin inlineterminator.
csv.
QUOTE_NONNUMERIC
¶
kehottaa writer
-objektia lainaamaan kaikki ei-numeeriset kentät .
Kehottaa lukijaa tulemaan konv erota kaikki lainaamattomat kentät kellukkeen kirjoittamiseen.
csv.
QUOTE_NONE
¶
Ohjeet writer
-objektit eivät koskaan tarjoa kenttiä. Kun currentdelimiter esiintyy lähtötiedoissa, sitä edeltää nykyinen escapecharcharacter. Jos escapecharia ei ole asetettu, kirjoittaja nostaa Error
, jos joku pakenemista edellyttävästä merkistä löytyy.
Ohjeet reader
ei suoriteta lainausmerkkien erityistä käsittelyä.
Moduuli csv
määrittelee seuraavan poikkeuksen:
poikkeuscsv.
Error