首页 > 代码库 > python--csv文件读写

python--csv文件读写

  最近刚注册了kaggle账号,练习了下简单的knn算法用于手写数字识别。下载的训练和测试文本都是使用csv文件存储的,所以在此重拾下csv模块。

  • csv文件

  csv全称(Comma-Separated Values)是一种格式化文件,也称为字符分割值。记录之间由换行符分割,每条记录由字段组成,字段间分隔符通常是逗号或者制表符。通常,所有的记录有完全相同的字段序列。

技术分享

  python处理csv文件时,可以调用内置模块csv。

  • 读操作

  reader(csvfile, dialect=‘excel‘, **fmtparams)

  参数:

csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象,如果是文件对象,打开时需要加"b"标志参数。
dialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册。
fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。
技术分享
#coding:utf-8
import csv
def read_csv():
    with open(read_csv.csv,r) as file:
        lines = csv.reader(file)
        for l in lines:
            print l
读csv
技术分享
[id, name]
[1, a]
[2, b]
[3, c]
[4, d]
读取结果
  • 写操作

   writer(csvfile, dialect=‘excel‘, **fmtparams)

   参数上同

技术分享
def write_csv():
    result = [[5,e],[6,f]]
    with open(write_csv.csv,wb) as file:
        mywriter = csv.writer(file)
        mywriter.writerows(result)
        mywriter.writerow([7,g])
写文件

 

技术分享

 

   注意几点:读取的字段默认是字符类型。写文件可以选择多条记录一起,也可以单条记录,记录用序列表示。

 

python--csv文件读写