Maison >développement back-end >Tutoriel Python >Comment lire et écrire des fichiers csv en Python
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.Voici un exemple illustrant ce processus :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.
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. sketchPour 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 PythonPar 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 é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 écrire un dictionnaire dans un fichier CSV en Python
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.Pour écrire du CSV en Python, vous devez utiliser le module csv en suivant ces étapes :
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!