Heim >Backend-Entwicklung >Python-Tutorial >Warum haben meine von Python generierten CSV-Dateien Leerzeilen zwischen den Zeilen?

Warum haben meine von Python generierten CSV-Dateien Leerzeilen zwischen den Zeilen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 15:14:11479Durchsuche

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

Von Python generierte CSV-Dateien haben Leerzeilen zwischen Zeilen

Diese Frage stellt sich, wenn Sie CSV-Dateien mit dem CSV-Modul von Python schreiben und auf zusätzliche Leerzeilen stoßen zwischen jedem Datensatz beim Öffnen der resultierenden Datei in Microsoft Excel.

Ursache:

Das csv.writer-Modul steuert direkt Zeilenenden und fügt „rn“ in die Datei ein. In Python 3 sollten Dateien im unübersetzten Textmodus mit den Parametern „w“, newline='' geöffnet werden, um das Schreiben von „rrn“ unter Windows zu verhindern, wo der Standardtextmodus jedes „n“ in „rn“ übersetzt.

Lösung:

Python 3:

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

Python 3 mit pathlib:

from pathlib import Path
import csv

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

Python 2:

Öffnen outfile im Binärmodus mit 'wb' statt 'w':

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

Hinweis:

  • In Python 2 erfordert das Schreiben von Unicode-Strings in CSVs zusätzliche Problemumgehungen.
  • Die Das Modul unicodecsv bietet eine Alternative für den Umgang mit Unicode in Python 2.
  • Dokumentation finden Sie unter den bereitgestellten Links in der Antwort.

Das obige ist der detaillierte Inhalt vonWarum haben meine von Python generierten CSV-Dateien Leerzeilen zwischen den Zeilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn