我试图写入CSV文件,但中间有空行。如何删除这些空行?
import csv
b = open('test.csv', 'w')
a = csv.writer(b)
data = [['Me', 'You'],\
['293', '219'],\
['54', '13']]
a.writerows(data)
b.close()
我试图写入CSV文件,但中间有空行。如何删除这些空行?
import csv
b = open('test.csv', 'w')
a = csv.writer(b)
data = [['Me', 'You'],\
['293', '219'],\
['54', '13']]
a.writerows(data)
b.close()
在Python 3中,您使用csv
模块的方式在几个方面发生了变化 (文档), 至少在打开文件时需要注意。无论如何,类似于以下代码:
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)
应该能够工作。
open('test.csv', 'w')
更改为open('test.csv', 'wb')
。也就是说,你应该将文件以二进制文件的形式打开。
但是,正如其他人所指出的,在Python 3.x中,文件接口已经发生了变化。
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])
将产生如下输出
Me You
293 219
13 15
希望这能帮到你。
希望这能帮到你
在Python 2中,为了处理空行,您需要以二进制b
模式打开文件。而在Python 3中则不需要这样做。
因此,请将open('test.csv', 'w')
更改为open('test.csv', 'wb')
。
Pyexcel 可以很好地与 Python2 和 Python3 兼容,使用时没有问题。
使用pip快速安装:
pip install pyexcel
之后,只需要3行代码就可以完成任务:
import pyexcel
data = [['Me', 'You'], ['293', '219'], ['54', '13']]
pyexcel.save_as(array = data, dest_file_name = 'csv_file_name.csv')
”和“
]”之间。 - Zags