Pertanyaan Menulis ke CSV dengan Python menambahkan baris kosong [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya mencoba menulis ke file CSV tetapi ada baris kosong di antaranya. Bagaimana saya bisa menghapus baris kosong?

import csv
b = open('test.csv', 'w')
a = csv.writer(b)
data = [['Me', 'You'],\
        ['293', '219'],\
        ['54', '13']]
a.writerows(data)
b.close()

76
2018-02-04 19:03


asal


Jawaban:


Cara Anda menggunakan csv Modul diubah dengan Python 3 dalam beberapa hal (dokumen), setidaknya sehubungan dengan bagaimana Anda perlu membuka file. Pokoknya, sesuatu seperti itu

import csv
with open('test.csv', 'w', newline='') as fp:
    a = csv.writer(fp, delimiter=',')
    data = [['Me', 'You'],
            ['293', '219'],
            ['54', '13']]
    a.writerows(data)

harus bekerja.


113
2018-02-04 19:15



Jika Anda menggunakan Python 2.x pada Windows, Anda perlu mengubah baris Anda open('test.csv', 'w') untuk open('test.csv', 'wb'). Itu adalah Anda harus membuka file sebagai file biner.

Namun, seperti yang dinyatakan oleh yang lain, antarmuka file telah berubah dengan Python 3.x.


21
2018-02-04 19:05



import csv

hello = [['Me','You'],['293', '219'],['13','15']]
length = len(hello[0])

with open('test1.csv', 'wb') as testfile:
    csv_writer = csv.writer(testfile)
    for y in range(length):
        csv_writer.writerow([x[y] for x in hello])

akan menghasilkan output seperti ini

Me You
293 219
13 15

Semoga ini membantu


15
2018-02-04 19:10



Anda perlu membuka file dalam biner b mode untuk menjaga garis kosong pada Python 2. Ini tidak diperlukan dengan Python 3.

Jadi, ganti baju open('test.csv', 'w') untuk open('test.csv', 'wb').


4
2018-02-04 19:06



Pyexcel bekerja dengan baik dengan Python2 maupun Python3 tanpa masalah.

Instalasi cepat dengan pip:

pip install pyexcel

Setelah itu, hanya 3 baris kode dan pekerjaan yang dilakukan:

import pyexcel
data = [['Me', 'You'], ['293', '219'], ['54', '13']]
pyexcel.save_as(array = data, dest_file_name = 'csv_file_name.csv')

2
2018-03-23 12:59