用Python写入CSV添加空白行
我正在尝试写入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
模块的方式在很多方面(docs)都是变化的 ,至less在您需要如何打开文件方面。 无论如何,像
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')