简介

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用逗号分隔得来的。

输出结果:

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中存储数据:

以mydialect风格打印:

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

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

输出:

对于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的值。

python csv使用_python CSV模块的使用相关推荐

  1. python dcf估值_Python 常用模块

    本节内容 模块介绍 os 模块 sys 模块 time & datetime模块 random 模块 json & picle shutil 模块 shelve 模块 xml 模块 c ...

  2. python按行读取csv文件_python.csv 按行按列读取

    #header=0,表示文件第0行为列索引 #index_col=0,表示文件第0列为行索引 userTable=pd.read_csv('./data/preprefe_%s.csv'%str(i) ...

  3. python贪婪匹配_python re模块匹配贪婪和非贪婪模式详解

    python re模块匹配贪婪和非贪婪模式详解 这篇文章主要介绍了python re模块匹配贪婪和非贪婪模式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友 ...

  4. python莫比乌斯环_python基础|模块

    1 模块简介 在python中常见的模块有三种,在python解释器中的内置模块,第三方模块和自定义模块.模块的有使用python编写的文件,有已被编译为共享库或DLL的C或C++扩展,也有使用C编写 ...

  5. python pillow库_python pillow模块用法

    pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...

  6. python import变量_Python import模块调用

    开发过程中代码越写越多,在一个文件里代码会越来越长,不容易维护,为了容易维护代码,我们把很多函数分组,分别放在不同的文件里,在Python中,一个.py文件就是模块(Module) 工具/原料 Pyt ...

  7. python requests 示例_Python Requests模块的简单示例

    这篇文章主要为大家详细介绍了Python Requests模块的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  8. python xlsxwriter 画图_Python XlsxWriter模块Chart类用法实例分析

    本文实例讲述了Python XlsxWriter模块Chart类用法.共享给大家供大家参考,详细如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包括面积.条形图 ...

  9. python 柱状图 居中_python matplotlib模块: bar(柱状图)

    plt模块的bar方法可以帮助我们绘制竖着的柱状图. 功能非常强大, 使用起来非常简单, 详细注释放在源码. 其中各种颜色的hex值可以从: 各种颜色hex值获取 源码: # coding=utf-8 ...

最新文章

  1. java 9宫格抽奖_前端js实现九宫格模式抽奖(多宫格抽奖)
  2. 可可肉的奋斗(第一天)2012-12-24
  3. menisa mysql_实例详细说明linux下去除重复行命令uniq
  4. csv文件导入sqlite
  5. wxWidgets:wxNavigationEnabled< W >类模板的用法
  6. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...
  7. 华为抢购助手_华为MateBook 13轻薄本:出差者的首选,学生党的福音
  8. js模板引擎——art Template
  9. CodeForces - 1353F Decreasing Heights(dp)
  10. 数学难题html5小游戏答案,小学数学难题讲解及答案
  11. 计算机设计大赛国奖作品_4. 界面设计
  12. 对动画教程的坐标反转公式求证
  13. Node.js之HTTP模块学习
  14. 汇编实验 三 编程、编译、连接、跟踪
  15. 码农们:完美主义也是一种错
  16. javaparser - java源码分析修改框架
  17. 零信任之微分段(微隔离)
  18. 《 阿房宫赋》古文鉴赏
  19. 个人发卡程序手机版自适应源码 完美版对接免签约支付
  20. 计算机系统动态库修复,一键修复!动态库文件 mfc100u.dll 修复使用说明

热门文章

  1. ABB机器人ROBOTSTUDIO中轨迹与二次开发的问答
  2. 【error】深度优先搜索TypeError: unhashable type: ‘list‘
  3. php 枚举类型比较,枚举的比较-python编程入门系列图文教程-PHP中文网教程
  4. postman调用webservice接口_接口对前后端和测试的意义
  5. 语义分割深度学习方法集锦
  6. 生成0到1之间随机数的C代码
  7. python 倒排索引 性能_python 实现倒排索引的方法
  8. mysql查询的时候会涉及到锁_Mysql 查询 锁的问题?
  9. ORA-00018: maximum number of sessions exceeded 超出最大会话数
  10. 1 vmware 如何联网,以及行命令令初步