Apabila menulis fail CSV dalam Python, menghadapi baris kosong yang memisahkan setiap baris dalam Microsoft Excel boleh mengecewakan. Isu ini timbul disebabkan oleh cara csv.writer mengendalikan pengakhiran baris.
Dalam Python 3, membuka fail output dalam mod teks ('w') akan menyebabkan Windows menterjemah setiap baris baharu ('n') ke dalam pemulangan pengangkutan dan baris baharu ('rn'). Untuk mengelakkan ini, fail hendaklah dibuka dalam mod teks tidak diterjemahkan dengan parameter newline='' (rentetan kosong):
with open('thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
Sebagai alternatif, menggunakan kaedah open() modul Path juga membenarkan untuk menentukan parameter baris baharu:
from pathlib import Path with Path('thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
Dalam Python 2, penyelesaiannya ialah membuka fail output dalam mod binari ('wb') dan bukannya mod teks ('w'):
with open('thefile_subset11.csv', 'wb') as outfile: writer = csv.writer(outfile)
Untuk operasi dalam memori menggunakan StringIO, rentetan yang terhasil akan mengandungi baris khusus Windows penamat ('rn'). Apabila menulis rentetan ini pada fail, ingat untuk menggunakan 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())
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Garis Kosong dalam Output CSV Python ke Excel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!