,,Python中csv模块的基本使用教程

,,Python中csv模块的基本使用教程

Csv文件由逗号分隔,这是一种纯文本格式。不能指定字体颜色、单元格宽度高度等样式,不能合并单元格,也没有多工作表等功能。你可以用Excel来输入它们。本文主要介绍在Python中使用csv模块的基础教程。有需要的朋友可以参考一下。

1.csv简介

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

格式,用于存储表格数据,包括数字或字符。很多程序在处理数据的时候会遇到csv格式的文件,它的用途比CSV要好。

广泛(Kaggle上某些专题提供的数据是csv格式),csv应用广泛,但没有通用标准,所以正在处理中。

格式经常出问题。幸运的是,python内置了csv模块。下面是csv模块中一些最常用的函数。

欲了解更多信息,请参考:https://docs.python.org/2/library/csv.html#module-csv

2.csv模块中的功能

阅读器(csvfile,dialect='excel ',**fmtparams)

参数描述:

Csvfile必须是支持迭代器的对象,如果是文件对,它可以是文件对象或列表对象。

喜欢,你需要添加' b '标志参数时,你打开它。

方言,编码风格,默认为excel的风格,即逗号(,)分隔。方言也支持定制。通过调用register_dialect方法注册,下面会提到。

Fmtparam是一个格式化参数,用于覆盖由前面的dialect对象指定的编码样式。

导入csv

使用open('test.csv ',' rb ')作为myFile:

lines=csv.reader(myFile)

对于线中的线:

打印行

“Test.csv”是文件名,“rb”中的R表示“读取”模式。因为是文件对象,所以加' b '。Open()返回了一个文件对象。

MyFile,reader(myFile)只传入了第一个参数,另外两个参数默认以excel风格读取。Reader()返回一个

对象readerlines,lines,lines一个列表,当调用它的方法lines.next()时,它将返回一个字符串。上述程序的效果是转换csv

文件中的文本按行打印,每行的元素用逗号分隔符','分隔。

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

程序输出:

['1', '2']

['3 ',' a']

['4 ',' b']

补充:reader对象还提供了一些方法:line_num,dial,next()

编写器(csvfile,dialect='excel ',**fmtparams)

参数的含义同上,这里就不赘述了,直接上套路:

用open('t.csv ',' wb ')作为我的文件:

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)返回编写器对象myWriter。

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

注意:如果文件' t.csv '预先存在,调用writer函数将首先清除原始文件中的文本,然后执行writerow/writerows方法。

补充:除了writerow和writerows,writer对象还提供了一些其他的方法:writeheader和dial。

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

此功能用于自定义拨号。

参数描述:

名称,您的自定义拨号的名称,例如默认为“excel”,您可以将其定义为“方言”

[方言,]**fmtparams,方言的格式参数,包括分隔符(分隔符,默认为逗号),quotechar,

引用等。您可以参考刻度盘和格式化参数。

CSV . register _ dialect(' mydialect ',分隔符='| ',引用=csv。报价_全部)

上面一行程序定义了一个名为MyDial的方言,只设置了两个参数,delimiter和quoting,其他都还在用。

默认值,用“|”作为分隔符。然后我们就可以像' excel '一样使用' mydialect '了。我们来看看效果:

我将以下数据存储在我的test.csv中:

以“我的拨号”样式打印:

使用open('test.csv ',' rb ')作为myFile:

lines=csv.reader(myFile,' mydialect ')

打印行数

对于线中的线:

打印行

输出:

['1,2', '3']

['4,5', '6']

如你所见,现在' | '被用作分隔符,1和2被组合成一个字符串(因为1和2之间的分隔符是逗号,而我的拨号式分隔

是“|”),3单个字符串。

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

unregister_dialect(name)

此功能用于注销自定义拨号。

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

简单,你可以自己试试。例如,list_dialsects()函数将列出当前csv模块中的所有dial:

print csv.list_dialects()

输出:

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

'我的表盘'是自定义的,' excel-tab '和' excel '都是内置的表盘,其中' excel-Tab '类似于' Excel '。

只是它使用制表符作为分隔符。

csv模块还定义了

一些类:字典阅读器、字典书写器、方言等。DictReader和DictWriter类似于Reader和Writer。

一些常量:QUOTE_ALL,QUOTE_MINIMAL,QUOTE_NONNUMERIC等。这些常量可以用作拨号器和格式化参数的值。

先写到这里,剩下的以后用,更新。

总结

关于Python中csv模块的基本使用,本文到此结束。有关Python csv模块使用的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: