Maison > développement back-end > Tutoriel Python > Comment éliminer les retours chariot inattendus dans les fichiers Python CSV sous Windows ?

Comment éliminer les retours chariot inattendus dans les fichiers Python CSV sous Windows ?

Susan Sarandon
Libérer: 2024-11-27 22:11:17
original
226 Les gens l'ont consulté

How to Eliminate Unexpected Carriage Returns in Python CSV Files on Windows?

Gestion des retours chariot inattendus dans les fichiers CSV en Python sous Windows

Un problème particulier peut survenir lors de la génération d'un fichier CSV en Python : un Un retour chariot supplémentaire (r) apparaît à la fin de chaque ligne sur les systèmes Windows. Cela diffère du comportement attendu, où chaque ligne se termine par un seul caractère de retour chariot (r) ou de nouvelle ligne (n), selon le système d'exploitation.

Pourquoi cela se produit

Sous Windows, le comportement par défaut de Python pour gérer les fichiers CSV est d'interpréter le séparateur de ligne comme une nouvelle ligne universelle (n), ce qui est différent du séparateur de ligne Unix standard (rn). Par conséquent, l'éditeur CSV ajoute un double retour chariot (rr) lors de l'écriture dans un fichier, provoquant l'apparition d'une ligne vierge supplémentaire.

Résoudre le problème

Pour résoudre ce problème, vous pouvez désactiver la traduction universelle de nouvelle ligne en spécifiant newline='' lors de l'ouverture du fichier.

Python 3 :

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
Copier après la connexion

Python 2 :

Pour Python 2, il est recommandé d'ouvrir le fichier en mode binaire ('rb' ou 'wb ') avant de le transmettre au rédacteur CSV. En effet, CSV est considéré comme un format binaire avec des séparateurs de ligne stockés sous forme d'octets bruts.

with open('output.csv', 'wb') as f:
    writer = csv.writer(f)
Copier après la connexion

En suivant ces recommandations, vous pouvez empêcher l'ajout de retours chariot supplémentaires au fichier CSV, garantissant ainsi qu'il respecte aux conventions de séparation de lignes souhaitées.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal