【Python】 csv模块的使用

Python 标准库 CSV python对于csv的解读:CSV (Comma Separated Values) 格式是电子表格和数据库中最常见的输入、输出文件格式。在 RFC 4180 规范推出的很多年前,CSV 格式就已经被开始使用了,由于当时并没有合理的标准,不同应用程序读写的数据会存在细微的差别。这种差别让处理多个来源的 CSV 文件变得困难。但尽管分隔符会变化,此类文件的大致格式是相似的,所以编写一个单独的模块以高效处理此类数据,将程序员从读写数据的繁琐细节中解放出来是有可能的。 阅读详情

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


2、csv模块中的函数

  • reader(csvfile, dialect='excel', **fmtparams)
参数说明:

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

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

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


import csv
with open('test.csv','rb') as myFile:
    lines=csv.reader(myFile)
    for line in lines:
        print line


'test.csv'是文件名,‘rb’中的r表示“读”模式,因为是文件对象,所以加‘b’。open()返回了一个文件对象

myFile,reader(myFile)只传入了第一个参数,另外两个参数采用缺省值,即以excel风格读入。reader()返回一个

reader对象lines,lines是一个list,当调用它的方法lines.next()时,会返回一个string。上面程序的效果是将csv

文件中的文本按行打印,每一行的元素都是以逗号分隔符','分隔得来。


在我的test.csv文件中,存储的数据如图:



程序输出:

['1', '2']
['3', 'a']
['4', 'b']


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


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

参数的意义同上,这里不赘述,直接上例程:

with open('t.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)

'w'表示写模式。

首先open()函数打开当前路径下的名字为't.csv'的文件,如果不存在这个文件,则创建它,返回myFile文件对象。

csv.writer(myFile)返回writer对象myWriter。

writerow()方法是一行一行写入,writerows方法是一次写入多行。

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


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



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

这个函数是用来自定义dialect的。

参数说明:

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


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

quoting等等,可以参考Dialects and Formatting Parameters


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

上面一行程序自定义了一个命名为mydialect的dialect,参数只设置了delimiter和quoting这两个,其他的仍然采用

默认值,其中以'|'为分隔符。接下来我们就可以像使用'excel'一样来使用'mydialect'了。我们来看看效果:


在我test.csv中存储如下数据:


以'mydialect'风格打印:

with open('test.csv','rb') as myFile:
    lines=csv.reader(myFile,'mydialect')
    print lines.line_num
    for line in lines:
        print line

输出:

['1,2', '3']
['4,5', '6']


可以看到,现在是以'|'为分隔符,1和2合成了一个字符串(因为1和2之间的分隔符是逗号,而mydialect风格的分隔

符是'|'),3单独一个字符串。

对于writer()函数,同样可以传入mydialect作为参数,这里不赘述。


  • unregister_dialect(name)

这个函数用于注销自定义的dialect


此外,csv模块还提供get_dialect(name)、list_dialects()、field_size_limit([new_limit])等函数,这些都比较

简单,可以自己试试。比如list_dialects()函数会列出当前csv模块里所有的dialect:

print csv.list_dialects()

输出:

['excel-tab', 'excel', 'mydialect']

'mydialect'是自定义的,'excel-tab', 'excel'都是自带的dialect,其中'excel-tab'跟'excel'差不多,

只不过以tab为分隔符。


csv模块还定义了

一些类:DictReader、DictWriter、Dialect等,DictReader和DictWriter类似于reader和writer。

一些常量:QUOTE_ALL、QUOTE_MINIMAL、.QUOTE_NONNUMERIC等,这些常量可以作为Dialects and Formatting Parameters的值。


先写到这,其他的以后用到再更新。

csv.reader的基本使用 csv文件的操作,csv.writer()方法,csv.DictWriter()方法,csv.DictReader()方法,csv.reader()方法。csv.reader(file, delimiter='\t'),其中 delimiter 代表分隔符,通常根据数据集中相邻元素之间的分隔方式来设定,函数默认每行数据的元素间是以逗号分隔(也可以设置为'\t')。 csv.reader()返回一个reader对象,利用该对象可以遍历csv文件中的行,从csv文件中读取的每一行都以字符串列表的形式返回。 阅读详情

相关推荐

Python必学模块CSV模块

Python必学模块CSV模块

金鞍少年的博客 4085

pythoncsv库常用操作

csv 模块Python 标准库中的一个模块,用于处理 CSV(逗号分隔值)文件。它提供了简单易用的功能来读取和写入 CSV 文件。

xulibo5828的博客 4299

【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(二)PLECS 搭建开环 Buck 功率级

本文介绍了如何在PLECS中搭建开环Buck功率级模型,验证数字电源设计的基本思路。重点内容包括: 明确开发顺序:先开环验证功率级,再闭环设计控制器 搭建关键组件:输入电源、PWM模块、MOSFET开关、续流二极管、LC滤波电路及负载 设置初始参数:24V输入、12V输出、200kHz开关频率、22μH电感、100μF电容 测量关键波形:MOSFET Vds验证开关动作、电感电流纹波和输出电压稳态值 提供完整仿真模型和GitHub资源,便于读者复现验证 文章强调通过开环测试先确保功率级正确性,为后续闭环控制

weixin_43234123的博客 1153

处理CSVpython

CSV是一种常见的数据格式,可以用来存储和交换表格数据。CSV文件由一系列的行组成,每行包含一些用逗号分隔的字段。CSV文件可以用文本编辑器或excel打开和编辑,也可以用编程语言进行处理和分析。Python是一种流行的编程语言,它有许多内置的模块和第三方库,可以方便地读取和写入CSV文件。用csv模块读取和写入CSV文件;用pandas库读取和写入CSV文件;处理CSV文件中的特殊情况,如引号、换行符、编码等。

xswl5148的博客 1万+

Python操作csv文件

python操作CSV文件

ellija的博客 1万+

Python使用csv模块读写csv文件

Python使用csv模块读写csv文件 csv是逗号分隔值(Comma-Separated Values)的简称。 有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。 csv可以存储各种各样的数据,不过,通常来说,比较适合存储有相同字段或表头的一批数据,这些数据可以展示成表格。 可以使...

weixin_43790276的博客 1万+

PythonCSV模块

PythonCSV模块

weixin_39926295的博客 1136

python csv模块-PythonCSV模块

CSVcsv文件格式是一种通用的电子表格和数据库导入导出格式。最近我调用RPC处理服务器数据时,经常需要将数据做个存档便使用了这一方便的格式。简介Python csv模块封装了常用的功能,使用的简单例子如下:# 读取csv文件import csvwith open("some.csv", "rb") as f: # 采用b的方式处理可以省去很多...

weixin_39593061的博客 1225

python csv模块安装_PythonCSV模块

CSVcsv文件格式是一种通用的电子表格和数据库导入导出格式。最近我调用RPC处理服务器数据时,经常需要将数据做个存档便使用了这一方便的格式。简介Python csv模块封装了常用的功能,使用的简单例子如下:# 读取csv文件import csvwith open('some.csv', 'rb') as f: # 采用b的方式处理可以省去很多问题reader = csv.reade...

weixin_39634351的博客 4994

Python csv 模块

Pythoncsv 模块提供了简单高效的方式来处理 CSV 文件。该模块支持读写操作,能自定义分隔符和引号规则,适合处理表格数据。主要功能包括 csv.reader/csv.writer(列表形式)和 csv.DictReader/csv.DictWriter(字典形式),前者按索引访问,后者按列名访问。使用时需注意文件编码和 newline='' 参数(避免 Windows 空行问题)。csv 模块兼容 Excel 格式,支持方言注册和字段大小设置,是数据导入导出、预处理以及与 Pandas 等工具

likuoelie的博客 911

使用CSV模块和Pandas在Python中读取和写入CSV文件

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

qqqqqkmbnjjhb的专栏 4985

Python常用模块11-pythoncsv模块

文章目录一.CSV模块介绍二.csv模块实例2.1 将mysql查询到的数据导出到本地csv文件2.2 将本地csv文件导入到mysql数据库参考: 一.CSV模块介绍 CSV (Comma Separated Values) 格式是电子表格和数据库中最常见的输入、输出文件格式。在 RFC 4180规范推出的很多年前,CSV 格式就已经被开始使用了,由于当时并没有合理的标准,不同应用程序读写的数据会存在细微的差别。这种差别让处理多个来源的 CSV 文件变得困难。但尽管分隔符会变化,此类文件的大致格式是相似的

只是甲的博客 3696

python csv模块的read_PythonCSV模块

1. CSV简介CSV(Comma Separated Values)是逗号分隔符文本格式,常用于Excel和数据库的导入和导出,Python标准库的CSV模块提供了读取和写入CSV格式文件的对象。1.1 csv.reader对象和csv文件的读取csv.reader(csvfile,dialect='excel',**fmtparams),主要用于文件的读取,返回一个reader对象用于在csv...

weixin_39648824的博客 1940

python中的CSV模块

人生苦短,我用python

zhangke0426的博客 1604

Python模块csv使用

1、csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比 较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv 格式时常常会碰到麻烦...

菲宇运维 1917

Python csv模块使用

1、csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比 较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv 格式时常常会碰到麻烦...

fengxli的博客 5031

Python CSV模块

Python CSV模块 a.CSV介绍 1、csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本. CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储数据通常以纯文本的方式存数数据表。 格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比 较广泛的(Kaggle上一些题目提供的数据就是csv格式),cs

Harris-H的博客 3153

Python 中如何使用 csv 模块处理 CSV 文件?

CSV(Comma-Separated Values,逗号分隔值) 是一种常见的数据存储格式,广泛用于数据交换、表格存储、数据分析等场景。Python 内置的 `csv` 模块提供了强大的 CSV 文件操作功能,可以方便地**读取、写入和处理 CSV 数据**。本文将详细介绍如何使用 `csv` 模块处理 CSV 文件,包括读取、写入、格式化、转换等操作,并结合具体示例展示其应用。

1173

python 内置模块csv 处理 CSV文件

csv 模块Python 标准库中用于处理 CSV(逗号分隔值)文件的模块CSV 文件是一种常见的文本文件格式,用于存储表格数据,Python 的内置模块,无需额外安装。

老衲爱洗头的博客 2761
上一篇: 【机器学习算法实现】logistic回归__基于Python和Numpy函数库
下一篇: 大数据竞赛平台——Kaggle 入门
wepon_
博客等级 码龄13年 4243粉丝 71原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值