Fichiers CSV écrits avec Python : résolution des lignes vides entre les lignes
Le problème vient de la façon dont le module csv.writer de Python gère les fins de ligne. Lorsqu'il fonctionne en mode texte traduit (paramètre par défaut), il écrit à la fois un retour chariot (r) et une nouvelle ligne (n) dans le fichier pour chaque ligne. Cela peut entraîner des lignes vides supplémentaires lors de l'affichage dans Microsoft Excel sous Windows.
Solution :
Pour éviter ces lignes vides, il est crucial d'ouvrir le fichier de sortie dans un format non traduit mode texte. Dans Python 3, utilisez la syntaxe suivante :
with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
La chaîne vide ('') comme valeur du paramètre de nouvelle ligne garantit qu'aucun caractère de fin de ligne n'est ajouté, résolvant ainsi le problème de ligne vide.
Remarques supplémentaires :
from pathlib import Path with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
from io import StringIO s = StringIO() writer = csv.writer(s) writer.writerow([1,2,3])
Notez que la chaîne résultante contiendra toujours le terminateur de ligne Windows rn. Pour éviter cela, utilisez le paramètre newline='' lors de l'écriture de la chaîne dans un fichier.
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!