A modul tartalma¶
A csv
modul a következő függvényeket határozza meg:
csv.
reader
(csvfile, dialect = “excel”, ** fmtparams ) ¶
Visszaad egy olyan olvasóobjektumot, amely az adott csvfile-ben sorok felett fog ismétlődni. A csvfile bármely olyan objektum lehet, amely támogatja az iterátor protokollt, és minden alkalommal visszahúzza az __next__()
módszer meghívását – a fájlobjektumok és a listaobjektumok egyaránt alkalmasak. Ha a csvfile fájlobjektum, akkor azt a newline=""
paranccsal kell megnyitni. 1 Adható egy optionaldialect paraméter, amely egy adott CSV-dialektusra jellemző paraméterkészlet meghatározására szolgál. Lehet a Dialect
osztály egyik alosztályának példánya, vagy a list_dialects()
függvény által visszaadott karakterláncok egyike. A többi opcionális fmtparams kulcsszó argumentum megadható az egyes formázási paraméterek felülírására az currentdialect alkalmazásban. A nyelvjárással és a formázási paraméterekkel kapcsolatos részletes információkért lásd: Dialektusok és formázási paraméterek.
A csv fájlból olvasott sorok karakterláncokként kerülnek visszaadásra. Az automatikus adattípus-átalakítást csak akkor hajtják végre, ha a QUOTE_NONNUMERIC
formátumopciót megadják (ebben az esetben a nem idézett mezőket úszóvá alakítják).
Rövid használati példa:
csv.
writer
(csvfile, dialect = “excel”, ** fmtparams) ¶
Visszaad egy író objektumot, amely felelős a a felhasználó adatait elválasztott karakterláncokba az adott fájlszerű objektumon. A csvfile bármely objektum lehet write()
módszerrel. Ha a csvfile fájlobjektum, akkor azt a newline=""
1 címmel kell megnyitni. Adható egy opcionális dialektparaméter, amely az apartikuláris CSV-dialektusra jellemző paraméterkészlet meghatározására szolgál. Lehet a Dialect
osztály egyik alosztályának példánya, vagy a list_dialects()
függvény által visszaadott karakterláncok egyike. A többi opcionális fmtparams kulcsszó argumentum megadható az egyes formázási paraméterek felülírására az currentdialect alkalmazásban. A nyelvjárással és a formázási paraméterekkel kapcsolatos részletes információkért lásd: Dialektusok és formázási paraméterek. Annak érdekében, hogy a DB API-t megvalósító modulokkal való lehető legkönnyebb legyen a kezelőfelület, a None
értéket üres karakterláncként írják. Noha ez nem visszafordíthatatlan átalakítás, megkönnyíti az SQL NULL adatértékek CSV fájlokba történő kiürítését anélkül, hogy a cursor.fetch*
hívásból visszaküldött adatokat előzetesen feldolgoznák. str()
írás előtt.
Rövid használati példa:
csv.
register_dialect
(név]) ¶
Társítsa a nyelvjárást a névhez. a névnek karakterláncnak kell lennie. A Thedialect megadható úgy, hogy átengedi a Dialect
alkategóriát, vagy az fmtparams kulcsszó-argumentumokkal, vagy mindkettővel, a kulcsszó-argumentumok felülírva a nyelvjárás paramétereit. A nyelvjárással és a formázási paraméterekkel kapcsolatos további részletekért lásd: A dialektusok és a paraméterek formázása szakasz.
csv.
unregister_dialect
(név) ¶
Törölje a névvel társított nyelvjárást a nyelvjárási nyilvántartásból. Error
felmerül, ha a név nem regisztrált nyelvjárási név.
csv.
get_dialect
(név) ¶
A névhez társított nyelvjárást adja vissza. Error
felvetésre kerül, ha a név nem regisztrált nyelvjárási név. Ez a függvény egy megváltoztathatatlan Dialect
értéket ad vissza.
csv.
list_dialects
() ¶
Adja meg az összes regisztrált nyelvjárás nevét.
csv.
field_size_limit
() ¶
Visszaadja az aktuális maximális mezőméretet az elemző megengedte. Ha a new_limit megkapja, akkor ez lesz az új korlát.
A csv
modul a következő osztályokat határozza meg:
classcsv.
DictReader
(f, mezőnevek = Nincs, restkey = Nincs, restval = Nincs, dialektus = “excel”, * args, ** kwds) ¶
Objektum létrehozása amely úgy működik, mint egy normál olvasó, de az egyes sorokban lévő információkat egy dict
-hez térképezi fel, amelynek kulcsait az opcionális fieldnames paraméter adja.
A fieldnames paraméter egy szekvencia. A mezőnevek elhagyása esetén az f fájl első sorának értékei lesznek a mezőnevek. A mezőnevek meghatározásának módjától függetlenül a szótár megőrzi eredeti sorrendjüket.
Ha egy sornak több mezője van, mint mezőnevének, a fennmaradó adatokat listába helyezi, és a restkey által megadott mezőnévvel tárolja (amely alapértelmezés szerint None
). Ha egy nem üres sornak kevesebb mezője van, mint a mezőneveknek, akkor az ezek értékét kitöltjük a restval értékével (amely alapértelmezés szerint None
).
Az összes többi opcionális vagy kulcsszó argumentum átkerül az alapul szolgáló reader
példányba.
Megváltozott a 3.6 verzióban: A visszaadott sorok most OrderedDict
típusú.
Megváltozott a 3.8 verzióban: A visszaküldött sorok most dict
.
Rövid használati példa:
classcsv.
DictWriter
( f, mezőnevek, restval = “”, extrasaction = “emelés”, dialektus = “excel”, * args, ** kwds) ¶
Hozzon létre egy olyan objektumot, amely úgy működik, mint egy hagyományos író, de feltérképezi a szótárakat a kimeneti sorokhoz. A fieldnames paraméter egy sequence
kulcs, amely azonosítja a writerow()
metódushoz átadott értékeket a fájlban. Az opcionális restval paraméter meghatározza az átírandó értéket, ha a szótárból hiányzik egy kulcs a mezőnevekben. Ha a writerow()
metódushoz továbbított szótár olyan kulcsot tartalmaz, amely nem található belső nevek között, akkor az opcionális extrasaction paraméter jelzi, hogy milyen műveletet kell végrehajtani. Ha "raise"
, az alapértelmezett érték, egy ValueError
felvetésre kerül. Ha ez "ignore"
értékre van állítva, akkor a szótárban lévő extra értékeket figyelmen kívül hagyjuk. opcionális vagy kulcsszó argumentumokat továbbítják az alapul szolgáló writer
példánynak.
Ne feledje, hogy a DictReader
osztálytól eltérően a mezőnevek A DictWriter
osztály paramétere nem választható.
Rövid használati példa:
classcsv.
Dialect
¶
A Dialect
osztály egy konténerosztály, amelyre elsősorban az attribútumai miatt támaszkodnak, amelyek egy adott reader
vagy writer
példány.
classcsv.
excel
¶excel
osztály meghatározza az Excel által létrehozott CSV-fájl szokásos tulajdonságait. A "excel"
nyelvjárási névvel van bejegyezve. class csv.
excel_tab
¶
A excel_tab
osztály meghatározza az Excel által generáltTAB-elhatárolt fájl szokásos tulajdonságait. A "excel-tab"
nyelvjárási névvel van bejegyezve.
class csv.
unix_dialect
¶
A unix_dialect
osztály meghatározza a UNIX rendszereken generált CSV szokásos tulajdonságait, azaz az "\n"
vonalterminálóként és idézőjeles mezőként használja. A "unix"
nyelvjárási névvel van bejegyezve.
Új a 3.2-es verzióban.
class csv.
Sniffer
¶
A Sniffer
osztályt használják a CSV-fájl formátumának levezetésére.
A Sniffer
osztály két módszert kínál:
sniff
(minta, elválasztók = Nincs) ¶
Elemzés adja meg az adott mintát, és adjon vissza egy Dialect
alosztályt, tükrözve a talált paramétereket. Ha az opcionális elválasztó paraméter meg van adva, akkor azt a lehetséges validdelimiter karaktereket tartalmazó karaktersorozatként értelmezzük.
has_header
(minta) ¶
A mintaszöveg elemzése (feltételezhetően benne van CSV formátum), és adja vissza a True
parancsot, ha az első sor oszlopfejlécekből áll.
Példa a Sniffer
use:
A csv
modul a következő állandókat határozza meg:
csv.
QUOTE_ALL
¶
Megadja az writer
objektumoknak az összes mező idézését.
csv.
QUOTE_MINIMAL
¶
utasítja az writer
objektumokat, hogy csak azokat a mezőket idézzék, amelyek olyan speciális karaktereket tartalmaznak, mint az elválasztó, az idézőjel vagy a betűk bármelyikének inlineterminator.
csv.
QUOTE_NONNUMERIC
¶
utasítja az writer
objektumokat az összes nem numerikus mező idézésére .
Utasítja az olvasót, hogy konv tegye ki az összes nem idézett mezőt az úszó beírásához.
csv.
QUOTE_NONE
¶
Utasít writer
objektumok, amelyek soha nem idéznek mezőket. Amikor az currentdelimiter megjelenik a kimeneti adatokban, azt megelőzi az aktuális escapecharcharacter. Ha az escapechar nincs beállítva, akkor az író Error
-t emel fel, ha olyan karaktereket talál, amelyeknek meg kell szabadulniuk.
Utasítja reader
az idézőjelek különleges feldolgozásának végrehajtása nélkül.
A csv
modul a következő kivételt határozza meg:
kivétel csv.
Error