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 et écrire des fichiers CSV en Python : guide complet

Comment lire et écrire des fichiers CSV en Python : guide complet

Qu'est-ce qu'un fichier CSV ?

Un fichier CSV (Comma-Separated Values) stocke des données tabulaires en texte brut. Chaque ligne représente une ligne, et les champs individuels sont séparés par une virgule, un point-virgule ou un autre délimiteur. Les fichiers CSV sont légers, largement supportés par les tableurs, bases de données et outils d'analyse de données, ce qui en fait un format privilégié pour l'échange de données.

Exemple de fichier CSV

Voici une représentation CSV typique d'une petite base de données de langages de programmation. La première ligne contient les en-têtes de colonnes, suivies des lignes de données.

Données du tableau

Langage de programmationConçu parApparitionExtension
PythonGuido van Rossum1991.py
JavaJames Gosling1995.java
C++Bjarne Stroustrup1983.cpp

Données CSV

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

Module csv intégré de Python

Le module csv fournit des outils de bas niveau pour lire et écrire des fichiers CSV. Il gère automatiquement les guillemets, délimiteurs et terminaisons de ligne, réduisant le besoin de manipulation manuelle de chaînes.

Fonctions clés

Lire un fichier CSV

Voici un exemple minimal, prêt pour la production, qui lit un fichier CSV et affiche chaque ligne comme une liste Python.

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as fichier:
    lecteur = csv.reader(fichier)
    for ligne in lecteur:
        print(ligne)

La sortie sera :

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

Lire un CSV dans un dictionnaire

Utiliser csv.DictReader mappe automatiquement la ligne d'en-tête aux clés de dictionnaire, simplifiant la manipulation des données.

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as fichier:
    lecteur = csv.DictReader(fichier)
    for ligne in lecteur:
        print(ligne)

Dictionnaires résultants :

{"Langage de programmation": "Python", "Conçu par": "Guido van Rossum", "Apparition": "1991", "Extension": ".py"}
{"Langage de programmation": "Java", "Conçu par": "James Gosling", "Apparition": "1995", "Extension": ".java"}
{"Langage de programmation": "C++", "Conçu par": "Bjarne Stroustrup", "Apparition": "1983", "Extension": ".cpp"}

Écrire un fichier CSV

Les classes csv.writer et csv.DictWriter vous permettent d'écrire des données efficacement.

import csv

lignes = [
    ["Langage de programmation", "Conçu par", "Apparition", "Extension"],
    ["Python", "Guido van Rossum", "1991", ".py"],
    ["Java", "James Gosling", "1995", ".java"],
    ["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]

with open('ecrireData.csv', mode='w', newline='', encoding='utf-8') as fichier:
    ecrivain = csv.writer(fichier, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    ecrivain.writerows(lignes)

Le fichier ecrireData.csv généré correspondra à l'échantillon original.

Utiliser Pandas pour les opérations CSV

Pandas simplifie la gestion CSV en chargeant les données dans un DataFrame, permettant une manipulation puissante avec un code minimal. Installez avec pip install pandas si pas déjà disponible.

Lecture avec Pandas

import pandas as pd
df = pd.read_csv('data.csv')
print(df)

Sortie :

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

Écriture avec Pandas

import pandas as pd

donnees = {
    'Langage de programmation': ['Python', 'Java', 'C++'],
    'Conçu par': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
    'Apparition': ['1991', '1995', '1983'],
    'Extension': ['.py', '.java', '.cpp'],
}

df = pd.DataFrame(donnees)
df.to_csv('pandaresult.csv', index=False)
print(df)

Le CSV résultant est identique à l'original, mais le DataFrame offre des capacités d'analyse avancées.

Conclusion

Le module csv de Python et Pandas fournissent des outils robustes et faciles à utiliser pour lire, écrire et manipuler des fichiers CSV. Maîtriser ces bibliothèques débloque des flux de travail de données efficaces à travers services web, pipelines ETL et recherche scientifique. Commencez à expérimenter aujourd'hui et intégrez la gestion CSV dans vos projets avec confiance.

Python

  1. Mots-clés et identifiants Python : Maîtriser les mots réservés et les conventions de nommage
  2. Instructions, indentation et commentaires en Python : Guide clair
  3. Variables, constantes et littéraux en Python – Guide complet
  4. Maîtriser la conversion et le transtypage de types en Python : Guide complet
  5. Maîtriser les E/S et l'importation de modules en Python : Guide pratique
  6. Comprendre les variables globales, locales et non locales en Python
  7. Entrées/sorties de fichiers Python : maîtriser les opérations sur les fichiers
  8. Maîtriser les opérations sur les répertoires et fichiers en Python
  9. Maîtriser les erreurs et exceptions intégrées de Python