Heim >Backend-Entwicklung >Python-Tutorial >Wie verhindert man Leerzeilen in der Python-CSV-Ausgabe nach Excel?

Wie verhindert man Leerzeilen in der Python-CSV-Ausgabe nach Excel?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 02:57:25311Durchsuche

How to Prevent Blank Lines in Python CSV Output to Excel?

Python CSV-Ausgabe: Vermeiden Sie Leerzeilen zwischen Zeilen

Beim Schreiben einer CSV-Datei in Python kann es frustrierend sein, auf Leerzeilen zu stoßen, die jede Zeile in Microsoft Excel trennen. Dieses Problem entsteht aufgrund der Art und Weise, wie csv.writer mit Zeilenenden umgeht.

In Python 3 führt das Öffnen der Ausgabedatei im Textmodus ('w') dazu, dass Windows jede neue Zeile ('n') in a übersetzt Wagenrücklauf und Zeilenumbruch ('rn'). Um dies zu verhindern, sollte die Datei im unübersetzten Textmodus mit dem Parameter newline='' (leerer String) geöffnet werden:

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

Alternativ mit der open()-Methode des Path-Moduls ermöglicht auch die Angabe des Newline-Parameters:

from pathlib import Path
with Path('thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)

In Python 2 besteht die Lösung darin, die Ausgabedatei im Binärformat zu öffnen Modus ('wb') anstelle von Textmodus ('w'):

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

Für speicherinterne Vorgänge mit StringIO enthält die resultierende Zeichenfolge das Windows-spezifische Zeilenendezeichen ('rn '). Denken Sie beim Schreiben dieser Zeichenfolge in eine Datei daran, newline='':

from io import StringIO
s = StringIO()
writer = csv.writer(s)
writer.writerow([1, 2, 3])
with open('thefile_subset11.csv', 'w', newline='') as f:
    f.write(s.getvalue())
zu verwenden

Das obige ist der detaillierte Inhalt vonWie verhindert man Leerzeilen in der Python-CSV-Ausgabe nach Excel?. 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