Python csv模块的使用

1、csv简介

CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本

格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比

较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv

格式时常常会碰到麻烦,幸好python内置了csv模块。下面简单介绍csv模块中最常用的一些函数。

更多内容请参考:

https://docs.python.org/2/library/csv.html#module-csv

https://docs.python.org/3/library/csv.html#module-csv

2、csv模块中的函数

  • reader(csvfile, dialect='excel', **fmtparams)

  参数::

    csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象

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

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

使用:

import csv

with open('myData.csv', 'r') as csvfile:
reader_obj = csv.reader(csvfile)
for line in reader_obj: # reader_obj对象是一个迭代器
print(line)
1,a
2,b
3,c
4,d

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

  • writer(csvfile, dialect='excel', **fmtparams)
import csv

# 打开文件,newline=''参数,目的是使写入没有多余空行
with open('myData.csv', 'w', newline='') as csvfile:
writer_obj = csv.writer(csvfile) # dialect默认excel
writer_obj.writerow([1,'a']) # 写入单行
writer_obj.writerow([2,'b'])
ls = [(3, 'c'), (4, 'd')] # 可以写入多行
writer_obj.writerows(ls)

注意:如果文件't.csv'事先存在,调用writer函数会先清空原文件中的文本,再执行writerow/writerows方法。

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

  • register_dialect(name, [dialect, ]**fmtparams)

 

最新文章

  1. 代码片段:处理HTTP请求的接口
  2. Shou 团队诚意满满的招募 Swifter
  3. codeforces 341d (树状数组)
  4. javascript中escape()、unescape()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()比较
  5. 继续OI
  6. Android gdb 调试
  7. php删除字符串中的所有空格
  8. WPF Step By Step 控件介绍
  9. 基本的Web控件四
  10. JS设计模式——5.单体模式
  11. NHibernate考察实例:简单映射
  12. ObjectiveC中的block用法解析
  13. c friend -- 友元
  14. eclipse怎么连接到MySQL中的表!!!!!
  15. Java线程状态
  16. http面试准备
  17. 用kettle从mysql中使用存储过程读取数据写入到sqlserver数据库
  18. 求两个数的平均值,不能只用(a+b)/2的方法
  19. 学习笔记:Highcharts
  20. Android开发中常见的设计模式(二)——Builder模式

热门文章

  1. Windows server 2012安装oracle11g(32/64位)步骤
  2. 各种分布(distribution)
  3. 五、Pandas玩转数据
  4. AR报表控件的常见问题汇总
  5. Android 使用 adb命令 远程安装apk
  6. 转义字符 & sizeof & strlen
  7. postgresql+pgadmin3安装
  8. LeetCode(112) Path Sum
  9. python基础学习笔记——闭包
  10. 【03】github的markdown语法