Maison >développement back-end >Tutoriel Python >Pourquoi mes fichiers CSV générés par Python ont-ils des lignes vides entre les lignes ?

Pourquoi mes fichiers CSV générés par Python ont-ils des lignes vides entre les lignes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-14 15:14:11485parcourir

Why Do My Python-Generated CSV Files Have Blank Lines Between Rows?

Les fichiers CSV générés par Python ont des lignes vides entre les lignes

Cette question se pose lors de l'écriture de fichiers CSV à l'aide du module csv de Python et de la rencontre de lignes vides supplémentaires entre chaque enregistrement lors de l'ouverture du fichier résultant dans Microsoft Excel.

Cause :

Le module csv.writer contrôle directement les fins de ligne et insère "rn" dans le fichier. Dans Python 3, les fichiers doivent être ouverts en mode texte non traduit avec les paramètres « w », newline='', pour éviter d'écrire « rrn » sous Windows, où le mode texte par défaut traduit chaque « n » en « rn ».

Solution :

Python 3 :

with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
    writer = csv.writer(outfile)

Python 3 avec pathlib :

from pathlib import Path
import csv

with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)

Python 2 :

Ouvrir fichier de sortie en mode binaire avec 'wb' au lieu de 'w' :

with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile:
    writer = csv.writer(outfile)

Remarque :

  • Dans Python 2, l'écriture de chaînes Unicode dans des fichiers CSV nécessite des solutions de contournement supplémentaires.
  • Le Le module uncodecsv fournit une alternative pour gérer Unicode dans Python 2.
  • Pour la documentation, reportez-vous aux liens fournis dans la réponse.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn