Contenu du module¶
Le csv
le module définit les fonctions suivantes:
csv.
reader
(csvfile, dialect = « excel », ** fmtparams ) ¶
Renvoie un objet lecteur qui itérera sur les lignes du fichier csvfile donné.csvfile peut être nimporte quel objet prenant en charge le protocole itérateur et retourne astring chaque fois que sa méthode __next__()
est appelée – les objets fichier et les objets liste conviennent tous deux. Si csvfile est un objet fichier, il doit être ouvert avec newline=""
. 1 Un paramètre optionnel de dialogue peut être donné qui est utilisé pour définir un ensemble de paramètres spécifiques à un dialecte CSV particulier. Il peut sagir dune instance dune sous-classe de la classe Dialect
ou de lune des chaînes renvoyées par la fonction list_dialects()
. Les autres arguments de mot-clé optionnels fmtparams peuvent être fournis pour remplacer les paramètres de formatage individuels dans le dialogue courant. Pour plus de détails sur le dialecte et les paramètres de formatage, consultez la section Dialectes et paramètres de formatage.
Chaque ligne lue dans le fichier csv est renvoyée sous forme de liste de chaînes. Aucune conversion automatique du type de données nest effectuée à moins que loption de format QUOTE_NONNUMERIC
ne soit spécifiée (auquel cas les champs sans guillemets sont transformés en flottants).
Un court exemple dutilisation:
csv.
writer
(csvfile, dialect = « excel », ** fmtparams) ¶
Renvoie un objet écrivain responsable de la conversion les données de lutilisateur dans des chaînes délimitées sur lobjet de type fichier donné. csvfile peut être nimporte quel objet avec une méthode write()
. Si csvfile est un objet fichier, il doit être ouvert avec newline=""
1. Un paramètre de dialecte optionnel peut être donné qui est utilisé pour définir un ensemble de paramètres spécifiques à un dialecte CSV particulier. Il peut sagir dune instance dune sous-classe de la classe Dialect
ou de lune des chaînes renvoyées par la fonction list_dialects()
. Les autres arguments de mot-clé optionnels fmtparams peuvent être fournis pour remplacer les paramètres de formatage individuels dans le dialogue courant. Pour plus de détails sur le dialecte et les paramètres de formatage, consultez la section Dialectes et paramètres de formatage. Pour faciliter au maximum linterface avec les modules qui implémentent lAPI DB, la valeur None
est écrite sous forme de chaîne vide. Bien que cette transformation ne soit pas réversible, elle facilite le vidage des valeurs de données SQL NULL dans des fichiers CSV sans prétraiter les données renvoyées par un appel cursor.fetch*
. Toutes les autres données non-chaîne sont stringifiées avec str()
avant dêtre écrit.
Un court exemple dutilisation:
csv.
register_dialect
(nom]) ¶
Associez le dialecte au nom. nom doit être une chaîne. Le dialecte peut être spécifié soit en passant une sous-classe de Dialect
, soit par des arguments de mot-clé fmtparams, ou les deux, avec des arguments de mot-clé remplaçant les paramètres du dialecte. Pour plus de détails sur le dialecte et les paramètres de formatage, reportez-vous à la section Dialectes et paramètres de formatage.
csv.
unregister_dialect
(nom) ¶
Supprimez le dialecte associé au nom du registre des dialectes. Un Error
est déclenché si le nom nest pas un nom de dialecte enregistré.
csv.
get_dialect
(nom) ¶
Renvoie le dialecte associé au nom. Un Error
est déclenché si le nom nest pas un nom de dialecte enregistré. Cette fonction renvoie un Dialect
.
csv.
list_dialects
() ¶
Renvoie les noms de tous les dialectes enregistrés.
csv.
field_size_limit
() ¶
Renvoie la taille maximale actuelle du champ autorisé par lanalyseur. Si new_limit est donné, cela devient la nouvelle limite.
Le module csv
définit les classes suivantes:
classcsv.
DictReader
(f, fieldnames = None, restkey = None, restval = None, dialect = « excel », * args, ** kwds) ¶
Créer un objet qui fonctionne comme un lecteur ordinaire mais mappe les informations de chaque ligne à un dict
dont les clés sont données par le paramètre fieldnames en option.
Le paramètre fieldnames est une séquence. Si les noms de champ sont omis, les valeurs de la première ligne du fichier f seront utilisées comme noms de champ. Indépendamment de la façon dont les noms de champ sont déterminés, le dictionnaire conserve leur ordre dorigine.
Si une ligne a plus de champs que de noms de champ, les données restantes sont placées dans une liste et stockées avec le nom de champ spécifié par restkey (qui par défaut à None
). Si une ligne non vide a moins de champs que de noms de champs, les valeurs manquantes sont remplies avec la valeur de restval (qui par défaut à None
).
Tous les autres arguments facultatifs ou mots-clés sont transmis à linstance reader
sous-jacente.
Modifié dans la version 3.6: les lignes renvoyées sont maintenant de type OrderedDict
.
Modifié dans la version 3.8: les lignes renvoyées sont maintenant de type dict
.
Un court exemple dutilisation:
classcsv.
DictWriter
( f, fieldnames, restval = « », extrasaction = « rise », dialect = « excel », * args, ** kwds) ¶
Créez un objet qui fonctionne comme un écrivain ordinaire mais mappe les dictionnaires sur les lignes de sortie. Le paramètre fieldnames est une sequence
de clés qui identifient lordre dans lequel les valeurs du dictionnaire passées à la méthode writerow()
sont écrites dans filef. Le paramètre optionnel restval spécifie la valeur à écrire sil manque une clé dans les noms de champ. Si le dictionnaire transmis à la méthode writerow()
contient une clé introuvable dans les noms de champs, le paramètre dextraction facultatif indique laction à effectuer. Sil est défini sur "raise"
, la valeur par défaut, un ValueError
est déclenché.Sil est défini sur "ignore"
, les valeurs supplémentaires du dictionnaire sont ignorées. les arguments facultatifs ou de mot-clé sont transmis à linstance writer
sous-jacente.
Notez que contrairement à la classe DictReader
, les noms de champ le paramètre de la classe DictWriter
nest pas facultatif.
Un court exemple dutilisation:
classcsv.
Dialect
¶
La classe Dialect
est une classe de conteneur sur laquelle reposent principalement ses attributs, qui sont utilisés pour définir les paramètres dun reader
ou writer
instance.
classcsv.
excel
¶
La classe excel
définit les propriétés habituelles dun fichier CSV généré par Excel. Il est enregistré sous le nom de dialecte "excel"
.
classcsv.
excel_tab
¶
La classe excel_tab
définit les propriétés habituelles dun fichier délimité par Excel généré par le TAB. Il est enregistré sous le nom de dialecte "excel-tab"
.
classcsv.
unix_dialect
¶
La classe unix_dialect
définit les propriétés habituelles dun fichier CSV généré sur les systèmes UNIX, cest-à-dire en utilisant "\n"
comme terminateur de ligne et en citant tous les champs. Il est enregistré sous le nom de dialecte "unix"
.
Nouveau dans la version 3.2.
classcsv.
Sniffer
¶
La classe Sniffer
est utilisée pour déduire le format dun fichier CSV.
La classe Sniffer
fournit deux méthodes:
sniff
(sample, delimiters = None) ¶
Analyser léchantillon donné et renvoyer une sous-classe Dialect
reflétant les paramètres trouvés. Si le paramètre optionnel délimiteurs est donné, il est interprété comme une chaîne contenant des caractères validdelimiter possibles.
has_header
(sample) ¶
Analyser le texte dexemple (présumé CSV) et renvoyez True
si la première ligne semble être une série den-têtes de colonnes.
Un exemple pour Sniffer
use:
Le module csv
définit les constantes suivantes:
csv.
QUOTE_ALL
¶
Demande aux writer
de citer tous les champs.
csv.
QUOTE_MINIMAL
¶
Indique aux objets writer
de ne citer que les champs contenant des caractères spéciaux tels que le délimiteur, le quotechar ou lun des caractères du déterminateur de ligne.
csv.
QUOTE_NONNUMERIC
¶
Demande aux objets writer
de citer tous les champs non numériques .
Demande au lecteur de convoquer Insérez tous les champs non entre guillemets pour saisir float.
csv.
QUOTE_NONE
¶
Indique writer
objets pour ne jamais citer les champs. Lorsque le paramètre currentdelimiter apparaît dans les données de sortie, il est précédé du caractère déchappement actuel. Si escapechar nest pas défini, le rédacteur lèvera Error
si des caractères nécessitant un échappement sont rencontrés.
Indique reader
pour neffectuer aucun traitement spécial des guillemets.
Le module csv
définit lexception suivante:
exceptioncsv.
Error