码迷,mamicode.com
首页 > 编程语言 > 详细

Python csv模块学习

时间:2015-07-22 18:54:38      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:python

Introduce

CSV (Cmma-Separated Values)是逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号)的简写。是一种常用的文本格式,用以存储表格数据,包括数字或者字符。

纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

本文通过例子简单介绍csv模块中最常用的一些函数。

更多内容见官网:https://docs.python.org/2/library/csv.html

Getting Start

python中的csv模块的主要函数有下面两个:

  1. csv.reader(csvfile, dialect=‘excel‘, **fmtparams)

    • 返回值:一个reader对象,这个对象是可以迭代的,有个line_num参数,表示当前行数
    • 参数表:
      • csvfile
        需要是支持迭代(Iterator)的对象,并且每次调用next方法的返回值是字符串(string),通常的文件(file)对象,或者列表(list)对象都是适用的
      • dialect
        编码风格,默认为excel方式,也就是逗号(,)分隔,另外csv模块也支持excel-tab风格,也就是制表符(tab)分隔。其它的方式需要自己定义,然后可以调用register_dialect方法来注册,以及list_dialects方法来查询已注册的所有编码风格列表。
      • fmtparam
        格式化参数,用来覆盖之前dialect对象指定的编码风格。
  2. csv.writer(csvfile, dialect=‘excel‘, **fmtparams)

    • 返回值:返回一个writer对象,这个对象有两个函数writerow()和writerows()
    • 参数表:跟csv.reader()的参数表一样

示例

import csv

# 读取一个 csv 文件
myfilepath = ‘C:/Users/a/Desktop/mytablib.csvNew‘
# 这里用到的 open 都要加上 newline=‘‘ 否则会多一个换行符(标准库文档里说的)
myfile = open(myfilepath, ‘r‘, newline=‘‘)
myreader = csv.reader(myfile)
for row in myreader:
    if myreader.line_num == 1 : # line_num是从 1 开始计数的
        continue
    for i in row : # row是一个列表
        print(i, end=‘ ‘)
    print()
myfile.close() # 记得 close 文件


# 写入一个已经存在的文件
myfile = open(myfilepath, ‘a‘, newline=‘‘) # 使用append模式打开文件
mywriter = csv.writer(myfile)
mywriter.writerow((3, ‘wang‘, 25)) # 加入一行
mywriter.writerow((4, ‘zhou‘, 38))
mywriter.writerows([[5, ‘zhao‘, 16],[6, ‘qian‘, 28]]) # 加入多行
myfile.close()

版权声明:本文为博主原创文章,未经博主允许不得转载。

Python csv模块学习

标签:python

原文地址:http://blog.csdn.net/u012675539/article/details/47005871

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!