Beim Schreiben von CSV-Dateien mit Python können Leerzeilen zwischen den Zeilen erscheinen, wenn die resultierende Datei in Microsoft Excel geöffnet wird. In diesem Artikel wird erläutert, warum dieses Problem auftritt, und es werden Lösungen zur Unterdrückung zusätzlicher Leerzeilen bereitgestellt.
Das Problem liegt in der Art und Weise, wie Python Zeilenenden in CSV-Dateien verarbeitet. Das csv.writer-Modul steuert Zeilenenden direkt und hängt standardmäßig sowohl einen Wagenrücklauf (r) als auch einen Zeilenumbruch (n) an die Datei an, was zu einer zusätzlichen Leerzeile in Excel führt.
Für Windows-Systeme muss die Python-Datei im unübersetzten Textmodus mit dem Parameter newline='' geöffnet werden. Dieser Parameter weist Python an, das Standard-Neuzeilenzeichen (n) nicht in die Windows-spezifische Zeilenumbruchsequenz (rn) zu übersetzen.
Verwendung der with-Anweisung:
with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
Verwendung des Path-Moduls:
from pathlib import Path with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
Verwenden Sie für Python 2 den Binärmodus, um die Ausgabedatei ('wb') zu öffnen, da Python dadurch daran gehindert wird, Zeilenenden zu übersetzen.
with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile: writer = csv.writer(outfile)
Das obige ist der detaillierte Inhalt vonWie kann ich Leerzeilen in von Python generierten CSV-Dateien verhindern, die in Excel geöffnet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!