Lors de l'écriture de fichiers CSV avec Python, des lignes vides peuvent apparaître entre les lignes lorsque le fichier résultant est ouvert dans Microsoft Excel. Cet article explique pourquoi ce problème se produit et propose des solutions pour supprimer les lignes vides supplémentaires.
Le problème réside dans la façon dont Python gère les fins de ligne dans les fichiers CSV. Le module csv.writer contrôle directement les fins de ligne et, par défaut, il ajoute à la fois un retour chariot (r) et une nouvelle ligne (n) au fichier, ce qui entraîne une ligne vierge supplémentaire dans Excel.
Pour les systèmes Windows, le fichier Python doit être ouvert en mode texte non traduit à l'aide du paramètre newline=''. Ce paramètre indique à Python de ne pas traduire le caractère de nouvelle ligne par défaut (n) en séquence de nouvelle ligne spécifique à Windows (rn).
Utilisation de l'instruction with :
with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
Utilisation du module Path :
from pathlib import Path with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
Pour Python 2, utilisez le mode binaire pour ouvrir le fichier de sortie (« wb »), car cela empêche Python de traduire les fins de ligne.
with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile: writer = csv.writer(outfile)
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!