我正在尝试写入 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)
应该管用。
如果您在 Windows 上使用 Python 2.x,则需要将您的行更改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
希望这可以帮助
您需要以二进制b
模式打开文件以处理 Python 2 中的空白行。这在 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')