csv模块学习:Python学习笔记—CSV模块读写数据

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  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正常写入文件的时候,每行的结束默认添加‘\n’,即0x0D,而writerow命令的结束会再增加一个0x0D0A,因此对于windows系统来说,就是两行,而采用’b'参数,用二进制进行文件写入,系统默认是不添加0x0D的。

你可能感兴趣的:(python)