Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Comment lire un fichier CSV en Python | Lecture et écriture de fichiers CSV

Qu'est-ce qu'un fichier CSV ?

Un fichier CSV est un type simple de fichier texte brut qui utilise une structure spécifique pour organiser les données tabulaires. Le format standard d'un fichier CSV est défini par des données de lignes et de colonnes où une nouvelle ligne termine chaque ligne pour commencer la ligne suivante, et chaque colonne est séparée par une virgule dans la ligne.

CSV est un format courant pour l'échange de données car il est compact, simple et général. De nombreux services en ligne permettent à leurs utilisateurs d'exporter des données tabulaires du site Web dans un fichier CSV. Les fichiers CSV s'ouvriront dans Excel, et presque toutes les bases de données disposent d'un outil permettant l'importation à partir de fichiers CSV.

Dans ce didacticiel, vous apprendrez :

Exemple de fichier CSV

Les données sous forme de tableaux sont également appelées CSV (valeurs séparées par des virgules) - littéralement "valeurs séparées par des virgules". Il s'agit d'un format texte destiné à la présentation de données tabulaires. Chaque ligne du fichier est une ligne du tableau. Les valeurs des colonnes individuelles sont séparées par un symbole de séparation - une virgule (,), un point-virgule (;) ou un autre symbole. CSV peut être facilement lu et traité par Python.

Considérez le tableau suivant

Données du tableau

Langage de programmation Conçu par Apparu Extension
Python Guido van Rossum 1991 .py
Java James Gosling 1995 .java
C++ Bjarne Stroustrup 1983 .cpp

Vous pouvez représenter ce tableau en csv comme ci-dessous.

Données CSV

Langage de programmation, Conçu par, Apparu, Extension

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Comme vous pouvez le voir, chaque ligne est une nouvelle ligne et chaque colonne est séparée par une virgule. Voici un exemple de l'apparence d'un fichier CSV.

Télécharger les données CSV

Module CSV Python

Python fournit un module CSV pour gérer les fichiers CSV. Pour lire/écrire des données, vous devez parcourir les lignes du CSV. Vous devez utiliser la méthode de fractionnement pour obtenir les données des colonnes spécifiées.

Fonctions du module CSV

Dans la documentation du module CSV, vous pouvez trouver les fonctions suivantes :

Dans ce didacticiel, nous allons nous concentrer uniquement sur les fonctions de lecture et d'écriture qui vous permettent d'éditer, de modifier et de manipuler les données dans un fichier CSV.

Comment lire un fichier CSV en Python

Voici les étapes pour lire le fichier CSV en Python.

Étape 1) Pour lire des données à partir de fichiers CSV, vous devez utiliser la fonction lecteur pour générer un objet lecteur.

La fonction de lecture est développée pour prendre chaque ligne du fichier et faire une liste de toutes les colonnes. Ensuite, vous devez choisir la colonne pour laquelle vous voulez les données variables.

Cela semble beaucoup plus complexe qu'il ne l'est. Jetons un coup d'œil à ce code Python pour lire le fichier CSV, et nous découvrirons que travailler avec un fichier csv n'est pas si difficile.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Étape 2) Lorsque vous exécutez le programme ci-dessus, la sortie sera :

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Comment lire un fichier CSV dans un dictionnaire en Python

Vous pouvez également utiliser DictReader pour lire les fichiers CSV. Les résultats sont interprétés comme un dictionnaire où la ligne d'en-tête est la clé et les autres lignes sont des valeurs.

Considérez le code suivant

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Le résultat de ce code est :

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Et cette façon de lire les données du fichier CSV est beaucoup plus facile que la méthode précédente. Cependant, ce n'est pas la meilleure façon de lire les données.

Comment écrire un fichier CSV en Python

Voici comment écrire un fichier CSV en Python :

Lorsque vous avez un ensemble de données que vous souhaitez stocker dans un fichier CSV, vous devez utiliser la fonction writer(). Pour itérer les données sur les lignes (lignes), vous devez utiliser la fonction writerow().

Prenons l'exemple suivant. Nous écrivons des données dans un fichier "writeData.csv" où le délimiteur est une apostrophe.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Le résultat dans le fichier csv est :

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

Lire le fichier CSV à l'aide de Pandas

Pandas est une bibliothèque open source qui vous permet d'importer du CSV en Python et d'effectuer des manipulations de données. Les pandas offrent un moyen simple de créer, de manipuler et de supprimer les données.

Vous devez installer la bibliothèque pandas avec la commande pip install pandas. Sous Windows, vous exécuterez cette commande dans l'invite de commande sous Linux dans le terminal.

La lecture du CSV dans un pandas DataFrame est très simple et rapide :

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Résultat de l'exemple de lecture de Pandas CSV :

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Bibliothèque très utile. En seulement trois lignes de code, vous obtenez le même résultat que précédemment. Les pandas savent que la première ligne du CSV contient des noms de colonnes, et il les utilisera automatiquement.

Écrire un fichier CSV à l'aide de Pandas

Écrire dans un fichier CSV avec Pandas est aussi simple que lire. Ici, vous pouvez en convaincre. Vous devez d'abord créer DataFrame basé sur l'écriture Python suivante dans le code CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Voici le résultat

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Et le fichier CSV est créé à l'emplacement spécifié.

Conclusion

Donc, maintenant vous savez comment utiliser la méthode 'csv' et aussi lire et écrire des données au format CSV. Les fichiers CSV sont largement utilisés dans les applications logicielles car ils sont faciles à lire et à gérer, et leur petite taille les rend relativement rapides pour le traitement et la transmission.

Le module csv fournit diverses fonctions et classes qui vous permettent de lire et d'écrire facilement. Vous pouvez consulter la documentation officielle de Python et trouver des astuces et des modules plus intéressants. CSV est le meilleur moyen d'enregistrer, de visualiser et d'envoyer des données. En fait, ce n'est pas si difficile à apprendre qu'il n'y paraît au début. Mais avec un peu de pratique, vous le maîtriserez.

Pandas est une excellente alternative pour lire les fichiers CSV.

En outre, il existe d'autres moyens d'analyser des fichiers texte avec des bibliothèques telles que ANTLR, PLY et PlyPlus. Ils peuvent tous gérer une analyse intensive, et si une simple manipulation de chaîne ne fonctionne pas, il existe des expressions régulières que vous pouvez utiliser.


Python

  1. Mots clés et identifiants Python
  2. Instruction Python, indentation et commentaires
  3. Variables, constantes et littéraux Python
  4. Conversion de type Python et conversion de type
  5. Entrée, sortie et importation Python
  6. Variables Python globales, locales et non locales
  7. E/S de fichier Python
  8. Répertoire Python et gestion des fichiers
  9. Erreurs Python et exceptions intégrées