首页 > 编程知识 正文

python中csv模块的用法,csv模块 python

时间:2023-05-05 05:49:04 阅读:277330 作者:997

csv,即逗号分隔值,是一种常用的文本格式,用以储存表格数据,具有格式简单,快速存取,兼容性好等特点,工程,金融,商业等很多数据文件都采用csv文件保存和处理
csv格式:类似一个文本文档,每一行保存一条数据,同一行各个数据采用逗号(,)分隔,末尾换行(n)
csv模块
函数方法csv.reader(csvfile[,dialect=‘excel’][optional kwargs]) #返回csv阅读器(本质是迭代器,具有__next__(),iter()方法)可通过迭代读取csv文件内容 (for…)
csvfile参数为csv文件对象或列表对象 dialect编码风格,默认是excel风格,即用逗号分隔
也可以自定注册,通过register_dialect方法

reader()返回一个reader对象为一个列表list,当调用next()时会返回一个字符串string

import csv with open('test.csv','r') as myFile: lines=csv.reader(myFile) for line in lines: print line

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

with open('test.csv','wb') as myFile: myWriter=csv.writer(myFile) myWriter.writerow([7,'g']) myWriter.writerow([8,'h']) myList=[[1,2,3],[4,5,6]] myWriter.writerows(myList)

writerow方法是一行一行写入,writerows方法是一次写入多行
注意:如果文件事先存在,调用writer函数会显清空元文件中的文本,再执行方法
除了writerrow writerrows外writer对象还提供了其他一些方法 writerheader,dialect

register_dialect(name, [dialect, ]**fmtparams)用来自定义dialect风格
name默认是excel,可以自定义。 dialect格式参数有delimiter分隔符等
可以参考Dialects and Formatting Parameters

csv.register_dialect('mydialect',delimiter='|', quoting=csv.QUOTE_ALL)

上面代码自定义命名为mydialect,以|为分隔符
unregister_dialect(name)用于注销自定义的dialect
此外,csv模块还提供get_dialect(name)、list_dialects()、field_size_limit([new_limit])等函数
csv模块还定义了

一些类:DictReader、DictWriter、Dialect等,DictReader和DictWriter类似于reader和writer。

一些常量:QUOTE_ALL、QUOTE_MINIMAL、.QUOTE_NONNUMERIC等,这些常量可以作为Dialects and Formatting Parameters的值。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。