Python中的CSV模块基本用法

CSV模块提供一种非常便捷的方式操作CSV文件。本文只是展现最基本的csv文件的读写操作,因为使用的是Python2.7 所以open接受参数少,整个csv读写例子如下

import csv
fname = 'testcsv.csv'
with open(fname,'wb') as csvfile: # 解决写入空行问题 使用wb不会再每一行后面插入空行
    csvwriter = csv.writer(csvfile,delimiter=',')
    lst= [[1,2,3],[4,5,6]]
    for item in lst:
        csvwriter.writerow(item)
# 读取操作
with open(fname,'r') as csvfile:
    rows = csv.reader(csvfile)
    for row in rows:
        print row
        print type(row) # 类型为一个list

运行结果

['1', '2', '3']
<type 'list'>
['4', '5', '6']
<type 'list'>

有时在python3 下需要将矩阵数据写入CSV文件,也会出现空行. 但是按照上述方式会报错,需要数据为bytes 类型,为了解决这个问题,需要在open的时候指定一个newline=''参数,让它为空,可以保证CSV写入数据不会出现空行.

import csv
fname = 'testcsv.csv'
with open(fname,'w', newline='') as csvfile: # 解决写入空行问题 使用wb不会再每一行后面插入空行
    csvwriter = csv.writer(csvfile)
    lst= [[1,2,3],[4,5,6]]
    csvwriter.writerows(lst)

你可能感兴趣的:(Python)