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
Freigeben: 2024-12-31 10:48:10
Original
351 Leute haben es durchsucht

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren
  • 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])
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage