CSV模块是Python的内置模块,直接import csv就可调用。csv模块主要就两个函数:csv.reader()——读取csv文件数据,csv.writer()——写入csv文件数据。简单实用。
一、读取CSV
语法:csv.reader(iterable[, dialect="excel"][optional keyword args])
示例:
import csv
reader=csv.reader(open("test.csv", "rb"))
for item in reader:
print line
二、写入CSV
语法:csv.writer(fileobj [, dialect="excel"][optional keyword args])
示例:
import csv
writer=csv.writer(open("test.csv", "wb"))
writer.writerow(["col1", "col2", "col3"])
data=[range(3) for i in range(3)]
for item in data:
writer.writerow(item)
须注意之处:writer.writerow()方法中的参数是list类型,如果你想在A1列写入"hello",则必须是writer.writerow(["hello"]),不然"hello"会被看成是个list从而被分写入5列。
写入CSV时,CSV文件的创建必须加上"b"参数,即csv.writer(open("test.csv","wb")),不然会出现隔行的现象。网上搜到的解释是:python正常写入文件的时候,每行的结束默认添加" ’,即0x0D,而writerow命令的结束会再增加一个0x0D0A,因此对于windows系统来说,就是两行,而采用’b"参数,用二进制进行文件写入,系统默认是不添加0x0D的。