读取csv文件:
def readCsv():
rows=[]
with file(r'E:\py\py01\Data\system.csv','rb') as f:
reads=csv.reader(f)
for i in reads:
rows.append(i)
print rows
return rows
写入csv文件:
def writer():
with file(r'E:\py\py01\Data\system.csv','wb') as f:
writer=csv.writer(f,dialect='excel')
data=[('789456123','123456'),('tom','123456'),('jack','123456')]
writer.writerows(data)
writer.writerow(('zhangsan','123456'))
writer.writerow(['name'])
f.close()
return
1.需要注意的是,写入csv文件时,csv的创建文件应该为'wb'即需要加上b,否则写入后会出现空一行的情况如图,
参照网上的解释为:python正常写入文件的时候,每行的结束默认添加'\n’,即0x0D,而writerow命令的结束会再增加一个0x0D0A,
因此对于windows系统来说,就是两行,而采用’b'参数,用二进制进行文件写入,系统默认是不添加0x0D的。
2.写入一个值时应该加上中括号即writer.writerow(['name']),否则会被拆分开来变成,因为writer.writerow()方法中的参数是list类型。