Python 的 CSV模块的使用方法,包括,reader, writer, DictReader, DictWriter.register_dialect

一直非常喜欢python的csv模块,简单易用,经常在项目中使用,现在举几个例子说明一下。

reader(csvfile[, dialect='excel'][, fmtparam])

参数表:

csvfile

需要是支持迭代(Iterator)的对象,并且每次调用next方法的返回值是字符串(string),通常的文件(file)对象,或者列表(list)对象都是适用的,如果是文件对象,打开是需要加"b"标志参数。

dialect

编码风格,默认为excel方式,也就是逗号(,)分隔,另外csv模块也支持excel-tab风格,也就是制表符(tab)分隔。其它的方式需要自己定义,然后可以调用register_dialect方法来注册,以及list_dialects方法来查询已注册的所有编码风格列表。

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

例子:import csv

reader = (file('your.csv', 'rb'))

for line in reader:

print line

writer(csvfile[, dialect='excel'][, fmtparam])

参数表(略: 同reader, 见上)

例子:import csv

writer = (file('your.csv', 'wb'))

(['Column1', 'Column2', 'Column3'])

lines = [range(3) for i in range(5)]

for line in lines:

writer.writerow(line)

1. 写入并生成csv文件

代码:

# coding: utf-8

import csv

csvfile = file('csv_test.csv', 'wb')

writer = csv.writer(csvfile)

writer.writerow(['姓名', '年龄', '电话'])

data = [

('小河', '25', '1234567'),

('小芳', '18', '789456')

]

writer.writerows(data)

csvfile.close()wb中的w表示写入模式,b是文件模式

写入一行用writerow

多行用writerows

2. 读取csv文件

代码:

# coding: utf-8

import csv

csvfile = file('csv_test.csv', 'rb')

reader = csv.reader(csvfile)

for line in reader:

print line

csvfile.close()

运行结果:

root@he-desktop:~/python/example# python read_csv.py

['\xe5\xa7\x93\xe5\x90\x8d', '\xe5\xb9\xb4\xe9\xbe\x84', '\xe7\x94\xb5\xe8\xaf\x9d']

['\xe5\xb0\x8f\xe6\xb2\xb3', '25', '1234567']

['\xe5\xb0\x8f\xe8\x8a\xb3', '18', '789456']

打印发行日期及标题,逐行处理:for line in open("samples/sample.csv"):

title, year, director = line.split(",")

print year, title

使用csv模块处理:import csv

reader = csv.reader(open("samples/sample.csv"))

for title, year, director in reader:

print year, title

改变分隔符

创建一csv.excel的子类,并修改分隔符为”;”# File: csv-example-2.py

import csv

class SKV(csv.excel):

# like excel, but uses semicolons

delimiter = ";"

csv.register_dialect("SKV", SKV)

reader = csv.reader(open("samples/sample.skv"), "SKV")

for title, year, director in reader:

print year, title

如果仅仅仅是改变一两个参数,则可以直接在reader参数中设置,如下:# File: csv-example-3.py

import csv

reader = csv.reader(open("samples/sample.skv"), delimiter=";")

for title, year, director in reader:

print year, title

将数据存为CSV格式

通过csv.writer来生成一csv文件。# File: csv-example-4.py

import csv

import sys

data = [

("And Now For Something Completely Different", 1971, "Ian MacNaughton"),

("Monty Python And The Holy Grail", 1975, "Terry Gilliam, Terry Jones"),

("Monty Python's Life Of Brian", 1979, "Terry Jones"),

("Monty Python Live At The Hollywood Bowl", 1982, "Terry Hughes"),

("Monty Python's The Meaning Of Life", 1983, "Terry Jones")

]

writer = csv.writer(sys.stdout)

for item in data:

writer.writerow(item)

python csv模块 reader_Python的CSV模块相关推荐

  1. python csv模块 reader_Python之csv模块

    简介 csv文件具有格式简单,快速存取,兼容性好等特点,工程.金融.商业等很多数据文件都是采用csv文件保存和处理.工作中数据处理也用到了csv,简要总结下使用经验,特别是那些由于本地兼容性导致的与官 ...

  2. csv java web 导入_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据. CSV是一种紧凑,简单且通用的数据交换通用格式. 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中. CSV ...

  3. 用python的pandas打开csv文件_使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据.CSV是一种紧凑,简单且通用的数据交换通用格式.许多在线服务允许其用户将网站中的表格数据导出到CSV文件中.CSV文件将 ...

  4. python csv使用_Python基于csv模块实现读取与写入csv数据的方法

    本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法.分享给大家供大家参考,具体如下: 通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就 ...

  5. Python零基础速成班-第8讲-Python文件操作File IO、高级文件处理模块shutil、CSV、JSON、多线程基础

    Python零基础速成班-第8讲-Python文件操作File I&O.高级文件处理模块shutil.CSV.JSON.多线程基础 学习目标 文件操作File I/O 高级文件处理模块shut ...

  6. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  7. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  8. python输出csv文件-Python之读取与写入CSV文件

    原标题:Python之读取与写入CSV文件 本文作者:闫续文 文字编辑:张梦婷 技术总编:张学人 有问题,不要怕!访问 CSV(Comma-Separated Values)格式是电子表格和数据库最常 ...

  9. python本地读csv文件_python读写csv文件方法详细总结

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv ...

最新文章

  1. armbian nginx 部署博客_从零开始搭建服务器之更加优雅地部署项目
  2. 高通QSD MSM APQ区别
  3. 内存泄漏MobX State Tree_[译]iOS Crash Dump Analysis 错误的内存崩溃
  4. java 序列化保存_保存到二进制/序列化Java
  5. 在网页中引用js文件、css文件或图片文件时为什么要加上问号+值或key-value
  6. 【颜色识别】【Python+OpenCV】KNN(K近邻算法)实现魔方颜色识别【 3-1】
  7. Sequelize 大于_间接效应值大于1是正常的吗?Q群答疑20200405
  8. 马尔可夫------马尔可夫不等式
  9. 简单三步搭建电影网站 :排除MacCMS10登录故障 3-3
  10. python百分号用法_python中百分号表示什么意思
  11. Visual Studio Installer 无法下载安装,长时间停留在下载界面。vs_community__1502218517.1623916988.exe
  12. Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号...
  13. Halcon 之 Measure_Pairs
  14. 烙铁头不沾锡原因分析,及烙铁头保养!
  15. Exception in secureMain java.lang.RuntimeException: Although a UNIX domain socket path is configured
  16. 用C语言写的学生管理系统,C语言实现简单的学生成绩管理系统
  17. 基于滑模预测控制的海底采矿车轨迹跟踪算法
  18. fastadmin添加图片压缩处理
  19. Vue3中使用用户引导插件driver.js
  20. php我的世界网页地图,盘点我的世界五大美丽的地图,第五个简直美翻了!

热门文章

  1. python二维列表list赋值时整列重复赋值问题
  2. VHDL实现四位加法器
  3. MySQL操作(1)创建数据库并插入数据
  4. YCM(YouCompleteMe)资源下载,包含了全部的插件及依赖子模块
  5. la3882(约瑟夫问题的变种)
  6. 如何最快拿到自考本科毕业证?
  7. 云开发校园微社区微信小程序源码/二手交易/兼职交友微信小程序开源源码
  8. 英特尔即将生产支持3D XPoint DIMM的Purley至强处理器 年末实现量产
  9. (转)幸福的勇气--目录
  10. [转载] Gedit快捷键