Maison >développement back-end >Tutoriel Python >Comment lire et écrire des fichiers CSV dans Python
Le format CSV est le format d'importation et d'exportation le plus utilisé pour les bases de données et les feuilles de calcul. Ce tutoriel donnera une introduction au module CSV dans Python. Vous découvrirez toutes les fonctions et classes qu'elle met à disposition pour que vous puissiez lire et écrire des données dans les fichiers CSV. J'ai également inclus quelques exemples de travail pour vous montrer comment lire et écrire des données dans un fichier CSV réel dans Python.
Le terme CSV représente des valeurs séparées par la virgule. Un fichier de format CSV permet d'enregistrer les données dans une structure tabulaire avec une extension .csv . Les fichiers CSV ont été largement utilisés dans les applications de commerce électronique car elles sont considérées comme très faciles à traiter. Certains des domaines où ils ont été utilisés comprennent:
Le module CSV a des fonctions et des fonctions d'écrivain
Le moderne CSV a des fonctions et des fonctions d'écrivainimport csv<br><br>with open('people.csv', newline='') as File: <br> reader = csv.reader(File)<br> for row in reader:<br> print(row)<br>
list_dialects () Fonction. csv.reader () fonction.
avez-vous remarqué l'Open () lors de l'ouverture d'un CSV.Writer Cette fonction renvoie un rédacteur à un objet écrivain qui a un budget des méthodes d'assistance pour vous aider à vous réjouir de votre fonction dans votre fonction dans votre fonction de vous rédiger un rédacteur déposer. Cette fonction est similaire à la méthode écrite () . Encore une fois, vous devez l'ouvrir en utilisant le paramètre Dictreader
et dictreader et dictreader
le paramètre de champs , les valeurs de la première ligne seront utilisées comme clés. Que se passe-t-il si ce n'est pas le cas? Il y a deux possibilités ici.
Tout d'abord, une ligne que vous lisez a plus de champs que ceux du paramètre Restkey. Deuxièmement, une ligne a moins de champs que ceux du paramètre RESTval .
DictWriterdans les noms de champ effacera toute ambiguïté autour de l'utilisation de ces touches.
Les dictionnaires que vous souhaitez écrire dans un fichier CSV peuvent avoir une clé manquante qui est présente dans le paramètre RESTval . Si un dictionnaire a une clé supplémentaire qui n'est pas dans la clé d'extrasaction pour spécifier quoi faire. Le comportement par défaut consiste à élever un lecteur ou Delimiter : une chaîne à un caractères utilisé pour séparer les champs. Il est par défaut quottechar : une chaîne à un caractères utilisé pour citer les champs contenant des caractères spéciaux. Cela inclut le caractère Qutechar . Il est par défaut doublequote : contrôle comment les instances de quottechar apparaissant à l'intérieur d'un champ doivent être citées. Il peut être faux . Gardez à l'esprit que vous devrez définir une valeur de EscapEchar si doublequote est défini sur EscapEchar : une chaîne utilisée par l'écrivain pour échapper à la Delimiter Si Citation est définie par la file Le 'rn' . true , tout espace blanc suivant immédiatement le Delimiter
écrivain pour citer tous les champs.
écrivainimport csv<br><br>with open('people.csv', newline='') as File: <br> reader = csv.reader(File)<br> for row in reader:<br> print(row)<br>
Comme d'habitude, nous importons d'abord le module CSV. Nous définissons ensuite l'objet Reader et utilisons la classe dictreader est meilleure car elle étend nos données en tant que dictionnaire, qui peut être plus facile à travailler dans certaines situations.
Nous n'avons pas passé de valeur pour le dictreaderimport csv<br> <br>with open('state-data.csv', newline='') as state_file:<br> reader = csv.reader(state_file)<br> for row in reader:<br> print(row)<br>utilisé les champs de la première rangée comme touches de dictionnaire. Passons une liste comme valeur pour les noms de champ
pour vous montrer comment Restkey est-ce que nous avons plus d'éléments dans chaque ligne que les champs de FieldNames
, la première ligne n'est plus utilisée pour créer les touches et est sortie en tant que dictionnaire. Notez également que toutes les valeurs supplémentaires de chaque ligne sont maintenant stockées dans une liste et affectées à la cléDonnées supplémentaires dans le dictionnaire.
Voyons maintenant comment rédiger des données dans un fichier CSV en utilisant le CSV.Writer
Le code ci-dessous écrit les données définies sur la méthode Writerow () car il y a une seule ligne dont nous voulons écrire les données avec les données que nous avons écrites. il.
Écrivant dans un fichier CSV à l'aide de dictwriter
Le code est comme indiqué ci-dessous.
import csv<br><br>with open('people.csv', newline='') as File: <br> reader = csv.reader(File)<br> for row in reader:<br> print(row)<br>
Nous définissons d'abord les noms de champ comme une liste et les stockons dans l'écrivain
import csv<br> <br>with open('state-data.csv', newline='') as state_file:<br> reader = csv.reader(state_file)<br> for row in reader:<br> print(row)<br>Objet Savoir ce que le titre de chaque colonne serait dans le fichier CSV. Les camionnettes ()
est que les lignes que nous voulons écrire sont itératives. Chaque ligne individuelle elle-même devrait également être un itérable de chaînes ou de nombres si nous utilisons les noms de champ
aux chaînes ou aux nombres pour la classe DictWriterpropose une solution. Pour les clés manquantes, nous pouvons simplement fournir une valeur par défaut en utilisant le paramètre Extrasaction pour dire à ValueError par défaut. Voici comment écrire à toutes les lignes à la fois.
Notre fichier CSV ressemblera à cela après toutes les opérations d'écriture:
import csv<br><br>with open('state-data.csv', newline='') as state_file:<br> reader = csv.DictReader(state_file)<br> for row in reader:<br> print(row)<br>
Conclusion
Apprenez Python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!