Heim >Backend-Entwicklung >Python-Tutorial >Wie verhindert man Leerzeilen in mit Python geschriebenen CSV-Dateien?

Wie verhindert man Leerzeilen in mit Python geschriebenen CSV-Dateien?

Linda Hamilton
Linda HamiltonOriginal
2024-12-31 10:48:10358Durchsuche

How to Prevent Blank Lines in CSV Files Written with Python?

Mit Python geschriebene CSV-Dateien: Leerzeilen zwischen Zeilen auflösen

Das Problem ergibt sich aus der Art und Weise, wie das csv.writer-Modul von Python Zeilenenden verarbeitet. Beim Betrieb im übersetzten Textmodus (Standardeinstellung) werden für jede Zeile sowohl ein Wagenrücklauf (r) als auch ein Zeilenumbruch (n) in die Datei geschrieben. Dies kann bei der Anzeige in Microsoft Excel unter Windows zu zusätzlichen Leerzeilen führen.

Lösung:

Um diese Leerzeilen zu verhindern, ist es wichtig, die Ausgabedatei unübersetzt zu öffnen Textmodus. Verwenden Sie in Python 3 die folgende Syntax:

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

Die leere Zeichenfolge ('') als Wert für den Newline-Parameter stellt sicher, dass keine Zeilenabschlusszeichen hinzugefügt werden, wodurch das Leerzeilenproblem behoben wird.

Zusätzliche Hinweise:

  • Wenn Sie das Pfadmodul verwenden, können Sie unübersetzt in die Datei schreiben Textmodus wie folgt:
from pathlib import Path

with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)
  • Für die In-Memory-String-Ausgabe verwenden Sie StringIO:
from io import StringIO

s = StringIO()
writer = csv.writer(s)
writer.writerow([1,2,3])

Beachten Sie, dass die resultierende Zeichenfolge weiterhin enthält der Windows-Zeilenabschluss rn. Um dies zu vermeiden, verwenden Sie den Parameter newline='', wenn Sie die Zeichenfolge in eine Datei schreiben.

  • Öffnen Sie in Python 2 die Ausgabedatei im Binärmodus ('wb') statt im Textmodus (' w'). Dadurch wird die Übersetzung des Leitungsabschlusses verhindert.

Das obige ist der detaillierte Inhalt vonWie verhindert man Leerzeilen in mit Python geschriebenen CSV-Dateien?. 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