Maison  >  Article  >  développement back-end  >  Comment lire et écrire des fichiers csv en Python

Comment lire et écrire des fichiers csv en Python

PHPz
PHPzavant
2023-06-26 13:09:596248parcourir

Pour écrire au format CSV en Python, utilisez le module csv de Python.

Par exemple, écrivons une liste de chaînes dans un nouveau fichier CSV :

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)

Par conséquent, vous verrez un fichier nommé example dans le dossier actuel.

4 étapes pour écrire un fichier CSV en Python

Pour écrire un fichier CSV en Python :

# 🎜🎜 #1.

Ouvrez le fichier CSV en mode écriture. Cela se produit en utilisant la fonction open(). Donnez-lui le chemin d'accès au fichier comme premier argument. Spécifiez le mode comme deuxième argument ("r" pour lecture, "w" pour écriture). 2.
Créez un objet écrivain CSV. Pour cela, créez un objetwriter() du module csv et passez le fichier ouvert comme argument. 3.
Écrivez les données dans un fichier CSV. Utilisez la fonction writerow() de l'objet écrivain pour écrire des données dans le fichier CSV. 4.
Fermez le fichier CSV en utilisant la méthode close() du fichier.

Voici un exemple illustrant ce processus :

import csv
# 1.
file = open('test.csv', 'w')
# 2.
writer = csv.writer(file)
# 3.
data = ["This", "is", "a", "Test"]
writer.writerow(data)
# 4.
file.close()

Ce code crée un fichier appelé test.csv dans le dossier courant.

Si le fichier spécifié n'existe pas, la fonction open() ouvrira un nouveau fichier. Si tel est le cas, le fichier existant est ouvert.

sketch

Pour raccourcir le temps d'écriture au format CSV, utilisez l'instruction

with pour ouvrir le fichier. De cette façon, vous n'avez pas à vous soucier de fermer le fichier vous-même. with gérera cette partie automatiquement.

Par exemple :

import csv
# 1. step
with open('test.csv', 'w') as file:
    # 2. step
    writer = csv.writer(file)
    # 3. step
    data = ["This", "is", "a", "Test"]
    writer.writerow(data)

Cela créera un nouveau fichier CSV appelé test.csv dans le dossier actuel et y écrira une liste de chaînes.

Comment écrire des caractères non-ASCII dans un CSV en Python

Par défaut, vous ne pouvez pas écrire de caractères non-ASCII dans un fichier CSV.

Pour prendre en charge l'écriture de valeurs non-ASCII dans un fichier CSV, spécifiez le codage des caractères comme troisième argument dans l'appel open().

with open('PATH_TO_FILE.csv', 'w', encoding="UTF8")

Le reste du processus suit les étapes que vous avez apprises auparavant.

Comment créer un en-tête pour un fichier CSV

Jusqu'à présent, vous avez créé un fichier CSV qui manque de structure.

En Python, vous pouvez écrire des en-têtes pour n'importe quel fichier CSV à l'aide de la fonction

writerow() pour écrire n'importe quelle donnée au format CSV.

Exemple : Créons un exemple de fichier CSV contenant les données des étudiants.

Afin de construire efficacement les données, vous devez créer un en-tête pour les étudiants au début du fichier CSV et l'insérer. Vous pouvez suivre les mêmes étapes que précédemment pour écrire les données dans un fichier CSV et le tour est joué.

Voici le code :

import csv
# Define the structure of the data
student_header = ['name', 'age', 'major', 'minor']
# Define the actual data
student_data = ['Jack', 23, 'Physics', 'Chemistry']
# 1. Open a new CSV file
with open('students.csv', 'w') as file:
    # 2. Create a CSV writer
    writer = csv.writer(file)
    # 3. Write data to the file
    writer.writerow(student_header)
    writer.writerow(student_data)

Cela créera le fichier étudiants.csv dans le dossier dans lequel vous travaillez actuellement. Le nouveau fichier ressemblera à ceci :

Comment lire et écrire des fichiers csv en Python

Comment écrire plusieurs lignes dans un fichier CSV en Python

En Python, Vous pouvez utiliser la fonction writerows() de l'écrivain CSV pour écrire simultanément plusieurs lignes dans un fichier CSV.

Exemple. Supposons que vous souhaitiez écrire plusieurs lignes de données dans un fichier CSV. Par exemple, vous pourriez avoir une liste d’étudiants au lieu d’un seul.

Pour écrire plusieurs lignes de données au format CSV, utilisez la méthode writerows().

Voici un exemple :

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    ['Jack', 23, 'Physics', 'Chemistry'],
    ['Sophie', 22, 'Physics', 'Computer Science'],
    ['John', 24, 'Mathematics', 'Physics'],
    ['Jane', 30, 'Chemistry', 'Physics']
]
with open('students.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(student_header)
    # Use writerows() not writerow()
    writer.writerows(student_data)

Cela générera un nouveau fichier CSV qui ressemble à ceci :

#🎜🎜 # Comment lire et écrire des fichiers csv en PythonComment écrire un dictionnaire dans un fichier CSV en Python

À l'aide de l'objet DictWriter, vous pouvez écrire un dictionnaire dans un fichier CSV en Python, en incluant spécifiquement les trois étapes suivantes : #🎜🎜 ## 🎜🎜#1. Utilisez l'objet DictWriter du module csv et précisez-y le nom du champ.

2. Utilisez la méthode writeheader() pour créer l'en-tête dans le fichier CSV.

3. Utilisez la méthode writerows() pour écrire les données du dictionnaire dans le fichier.

Exemple : Écrivons le dictionnaire de données des élèves dans un fichier CSV.

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    {'name': 'Jack', 'age': 23, 'major': 'Physics', 'minor': 'Chemistry'},
    {'name': 'Sophie', 'age': 22, 'major': 'Physics', 'minor': 'Computer Science'},
    {'name': 'John', 'age': 24, 'major': 'Mathematics', 'minor': 'Physics'},
    {'name': 'Jane', 'age': 30, 'major': 'Chemistry', 'minor': 'Physics'}
]
with open('students.csv', 'w') as file:
    # Create a CSV dictionary writer and add the student header as field names
    writer = csv.DictWriter(file, fieldnames=student_header)
    # Use writerows() not writerow()
    writer.writeheader()
    writer.writerows(student_data)

Maintenant, le résultat est le même que le fichier étudiants.csv dans l'exemple précédent :

Conclusion#🎜🎜 ##🎜🎜 #CSV ou Comma Separated Values ​​​​est un format de fichier couramment utilisé. Il se compose de valeurs généralement séparées par des virgules.

Comment lire et écrire des fichiers csv en PythonPour écrire du CSV en Python, vous devez utiliser le module csv en suivant ces étapes :

1. Ouvrez le fichier CSV en mode écriture.

2. Créez un objet écrivain CSV.

3. Écrivez les données dans un fichier CSV.

4. Fermez le fichier CSV.

Ceci est un exemple pratique.

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)

Bon codage !

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer