python csv模块用法_python CSV模块的使用

简介

CSV(comma separated values),逗号分隔值(字符分割值,字符可以不是逗号),常用的文本格式,用以存储表格数据,包括数字或者字符。kaggle就是csv格式,python有内置的csv模块。

csv中的函数

1、reader(csvfile,dialect='excel',**fmtparams)

csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象,如果是文件对象,打开时需要加"b"标志参数。

dialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册。

fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。

importcsv

with open("test.csv","rb") as myfile:

lines=csv.reader(myfile)for line inlines:print line

lines是list,调用lines,next()函数,会返回一个string。

line是列表,元素是csv用逗号分隔得来的。

1476416-20190802173405566-1084866831.png

输出结果:

1476416-20190802173424007-1298829588.png

reader对象还提供一些方法:line_num、dialect、next()

2、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是一次写多行。

如果test.csv事先存在,就会调用writer函数清空原来文件的内容,再开始写;没存在,就创建它,writer函数返回myfile文件。

补充:除了writerow、writerows,writer对象还提供了其他一些方法:writeheader、dialect

3、register_dialect(name,[dialect,],**fmtparams)

name,你所自定义的dialect的名字,比如默认的是'excel',你可以定义成'mydialect'。

[dialect, ]**fmtparams,dialect格式参数,有delimiter(分隔符,默认的就是逗号)、quotechar、quoting等等

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

上面代码自定义了一个命名为mydialect的dialect,参数是设置了delimiter和quoting这两个,其他的采用默认值,其中分隔符是'|'。

效果,在csv中存储数据:

1476416-20190802175703218-1429269818.png

以mydialect风格打印:

with open('text.csv','rb') as myfile:

lines= csv.reader(myfile,'mydialect')for line inlines:print line

输出:

1476416-20190802175938119-1094665103.png

对于writer函数,同样可以传入mydialect作为参数。

4、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的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值