Writer 对象让你将数据写入 CSV 文件。要创建一个 Writer 对象,就使用
csv.writer()函数。在交互式环境中输入以下代码。
>>> import csv
➊ >>> outputFile = open('output.csv', 'w', newline='')
➋ >>> outputWriter = csv.writer(outputFile)
>>> outputWriter.writerow(['spam', 'eggs', 'bacon', 'ham'])
21
>>> outputWriter.writerow(['Hello, world!', 'eggs', 'bacon', 'ham'])
32
>>> outputWriter.writerow([1, 2, 3.141592, 4])
16
>>> outputFile.close()
首先,调用 open()并传入'w',以写模式打开一个文件➊。这将创建对象。然后将它传递给 csv.writer()➋,创建一个 Writer 对象。
在 Windows 上,需要为 open()函数的 newline 关键字参数传入一个空字符串。这样做的技术原因超出了本书的范围。如果忘记设置 newline
关键字参数,output.csv中的行距将有两倍,如图 14-1 所示。
Writer 对象的 writerow()方法接受一个列表参数。列表中的每个词,放在输出的
CSV 文件中的一个单元格中。writerow()函数的返回值,是写入文件中这一行的字符数(包括换行字符)。
这段代码生成的文件像下面这样:
spam,eggs,bacon,ham
"Hello, world!",eggs,bacon,ham 1,2,3.141592,4
请注意,Writer 对象自动转义了'Hello, world!'中的逗号,在CSV 文件中使用了
双引号。模块 csv 让你不必自己处理这些特殊情况。