csv文件怎么打开

源代码:Lib/csv.py模块内容csv模块定义了以下函数:csv.reader(csvfile,dialect=&39;,**fmtparams)返回一个reader对象,该对象将逐行遍历csvf

源代码: Lib/csv.py

模块内容

csv 模块定义了以下函数:

csv.reader(csvfile,dialect=&39;,**fmtparams)

返回一个 reader 对象,该对象将逐行遍历 csvfile。csvfile 可以是任何对象,只要这个对象支持 iterator 协议并在每次调用 __next__() 方法时都返回字符串,文件对象 和列表对象均适用。如果 csvfile 是文件对象,则打开它时应使用 newline=&39;。 1 可选参数 dialect 是用于不同的 CSV 方言的特定参数组。它可以是 Dialect 类的子类的实例,也可以是 list_dialects() 函数返回的字符串之一。另一个可选关键字参数 fmtparams 可以覆写当前方言格式中的单个格式设置。有关方言和格式设置参数的完整详细信息,请参见 变种与格式参数 部分。

一个简短的用法示例:

>>> import csv

>>> with open(&39;,newline=&39;) as csvfile:

... spamreader = csv.reader(csvfile,delimiter=&39;,quotechar=&39;)

... for row in spamreader:

... print(&39;.join(row))

Spam,Spam,Spam,Spam,Spam,Baked Beans

Spam,Lovely Spam,Wonderful Spam

csv.writer(csvfile,dialect=&39;,**fmtparams)

返回一个 writer 对象,该对象负责将用户的数据在给定的文件类对象上转换为带分隔符的字符串。csvfile 可以是具有 write() 方法的任何对象。如果 csvfile 是文件对象,则打开它时应使用 newline=&39;。 1 可选参数 dialect 是用于不同的 CSV 方言的特定参数组。它可以是 Dialect 类的子类的实例,也可以是 list_dialects() 函数返回的字符串之一。另一个可选关键字参数 fmtparams 可以覆写当前方言格式中的单个格式设置。有关方言和格式设置参数的完整详细信息,请参见 变种与格式参数 部分。为了尽量简化与数据库 API 模块之间的对接,None 值会写入为空字符串。虽然这个转换是不可逆的,但它让 SQL 空数据值转储到 CSV 文件更容易,而无需预处理从 cursor.fetch* 调用返回的数据。写入前,所有非字符串数据都先用 str() 转化为字符串再写入。

一个简短的用法示例:

import csv

with open(&39;,&39;,newline=&39;) as csvfile:

spamwriter = csv.writer(csvfile,delimiter=&39;。

quotechar=&39;,quoting=csv.QUOTE_MINIMAL)

spamwriter.writerow([&39;] * 5 + [&39;])

spamwriter.writerow([&39;,&39;,&39;])

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

将 name 与 dialect 关联起来。name 必须是字符串。要指定变种 (dialect),可以给出 Dialect 的子类,或给出 fmtparams 关键字参数,或两者都给出,此时关键字参数会覆盖 dialect 参数。 有关变种和格式设置参数的完整详细信息,请参见 变种与格式参数 部分。

csv.unregister_dialect(name)

csv.get_dialect(name)

返回 name 对应的变种。如果 name 不是已注册的变种名称,则抛出 Error 异常。该函数返回的是不可变的 Dialect 对象。

csv.list_dialects()

返回所有已注册变种的名称。

csv.field_size_limit([new_limit])

返回解析器当前允许的最大字段大小。如果指定了 new_limit,则它将成为新的最大字段大小。

csv 模块定义了以下类:

class csv.DictReader(f,fieldnames=None,restkey=None,restval=None,dialect=&39;,*args,**kwds)创建一个对象,其操作类似于常规 reader 但会将每行中的信息映射到一个 OrderedDict,其中的键由可选的 fieldnames 形参给出。fieldnames 形参是一个 sequence。 如果省略 fieldnames,则文件 f 第一行中的值将被用作字段名。 无论字段名是如何确定的,有序字典都将保留其原始顺序。If a row has more fields than fieldnames,the remaining data is put in a list and stored with the fieldname specified by restkey (which defaults to None). If a non-blank row has fewer fields than fieldnames,the missing values are filled-in with None.所有其他可选或关键字参数都传递给底层的 reader 实例。在 3.6 版更改: 返回的行现在的类型是 OrderedDict。一个简短的用法示例:>>> import csv >>> with open(&39;,newline=&39;) as csvfile: ... reader = csv.DictReader(csvfile) ... for row in reader: ... print(row[&39;],row[&39;]) ...Eric IdleJohn Cleese

>>> print(row)

OrderedDict([(&39;,&39;),(&39;,&39;)])

class csv.DictWriter(f,fieldnames,restval=&39;,extrasaction=&39;,dialect=&39;,*args,**kwds)创建一个对象,该对象在操作上类似常规 writer,但能将字典映射到输出行。fieldnames 参数是由 key(键)组成的 序列,用于指定字典中的 value (值)的顺序,这些值会按指定顺序传递给 writerow() 方法并写入 f 文件。如果字典缺少 fieldnames 中的键,则可选参数 restval 用于指定要写入的值。如果传递给 writerow() 方法的字典的某些键在 fieldnames 中找不到,则可选参数 extrasaction 用于指定要执行的操作。如果将其设置为 &39; (默认值),则会引发 ValueError。 如果将其设置为 &39;,则字典中的其他键值将被忽略。 所有其他可选或关键字参数都传递给底层的 writer 实例。Note that unlike the DictReader class,the fieldnames parameter of the DictWriter is not optional. Since Python’s dict objects are not ordered,there is not enough information available to deduce the order in which the row should be written to file f.一个简短的用法示例:import csv

with open(&39;,&39;,newline=&39;) as csvfile:

fieldnames = [&39;,&39;]

writer.writeheader()

writer.writerow({&39;: &39;,&39;: &39;})

writer.writerow({&39;: &39;,&39;: &39;})

writer.writerow({&39;: &39;,&39;: &39;})

class csv.Dialect

class csv.excel

excel 类定义了 Excel 生成的 CSV 文件的常规属性。它在变种注册表中的名称是 &39;。

class csv.excel_tab

excel_tab 类定义了 Excel 生成的、制表符分隔的 CSV 文件的常规属性。它在变种注册表中的名称是 &39;。

class csv.unix_dialect

3.2 新版功能.

class csv.Sniffer

Sniffer 类用于推断 CSV 文件的格式。

Sniffer 类提供了两个方法:

sniff(sample,delimiters=None)分析给定的 sample 并返回一个 Dialect 子类,该子类中包含了分析出的格式参数。如果给出可选的 delimiters 参数,则该参数会被解释为字符串,该字符串包含了可能的有效分隔符。has_header(sample)分析示例文本(假定为 CSV 格式),如果第一行很可能是一系列列标题,则返回 True。使用 Sniffer 的示例:with open(&39;,newline=&39;) as csvfile: dialect = csv.Sniffer().sniff(csvfile.read(1024)) csvfile.seek(0) reader = csv.reader(csvfile,dialect) # ... process CSV file contents here ...

csv 模块定义了以下常量:

csv.QUOTE_ALL

指示 writer 对象给所有字段加上引号。

csv.QUOTE_MINIMAL

csv文件怎么打开

csv.QUOTE_NONNUMERIC

指示 writer 对象为所有非数字字段加上引号。

指示 reader 将所有未用引号引出的字段转换为 float 类型。

csv.QUOTE_NONE

指示 writer 对象不使用引号引出字段。当 定界符 出现在输出数据中时,其前面应该有 转义符。如果未设置 转义符,则遇到任何需要转义的字符时,writer 都会抛出 Error 异常。

指示 reader 不对引号字符进行特殊处理。

csv 模块定义了以下异常:

exception csv.Error该异常可能由任何发生错误的函数抛出

上一篇 2022年12月28 07:39
下一篇 2023年01月03 00:43

相关推荐

  • 微信怎样隐藏好友,微信好友不拉黑怎么隐藏好友

    相信不少朋友微信中启动了“微信运动”这个功能,一方面可以督促自己每天适当地运动,另外一方面也可以和微信好友PK一下每天的运动步数,若能得个第一名便能占领一次排行榜封面,美滋滋。那么问题来了,若是不想被

    2022年12月30 274
  • 怎么刷机苹果,苹果如何一键刷机

    苹果如何一键刷机,今日,小编连续收到粉丝询问,老旧iphone、ipad经常死机、锁屏,如何刷机,今天给大家介绍下苹果系列移动端刷机教程,刷机前一定要先备份重要资料(照片、文档),切记!一、关机并进入

    2023年01月18 215
  • 邮政快递怎么收费,10斤左右寄什么快递便宜

    现在这个时代很多人都会离家前往大城市打工赚钱,10斤左右寄什么快递便宜,毕竟城市里面的工作机会更多,工资收入也要比农村地区高得多,平时在外工作的人是很少会回家的,如果有什么东西需要带回老家的话,就会通

    2023年01月11 230
  • 隐藏文件夹怎么恢复,隐藏文件夹怎么恢复显示

    在我们电脑中,总是放着许多文档、文件夹或者是软件,但由于存储了很多文件,隐藏文件夹怎么恢复显示,难免会出现放在桌面上的东西突然消失了。这可能是我们使用电脑时不小心删除了桌面的文件,也有可能是因为系统原

    2023年01月21 200
  • 怎么用qq申请微信号,QQ号可以申请微信吗

    要说起手机里必备的软件,微信绝对是首当其冲的那一个。如今无论是日常社交还是工作学习,大家都已经习惯了用微信来交流。虽然微信很方便,但随着用户越来越多、功能越来越复杂,其中凸显的问题也不少。比如在很多人

    2023年01月21 227
  • 怎样解散微信群聊,微信群怎么直接解散不踢人

    14日深夜冲上热搜第一据“微信派”6月14日消息微信新增“群聊消息置顶”功能群主和群管理员长按一条消息解散微信群聊的方法如下:1、打开并登录微信,选择要解散的微信群,并打开。2、点击右上角的三个点。3

    2022年12月29 297
  • 怎样调节鼠标灵敏度,调鼠标灵敏度按哪个键

    其实,很多玩游戏的人对鼠标灵敏度有一定要求,比如我们需要连续快速的单击与双击大挂等等,调鼠标灵敏度按哪个键,某些游戏鼠标就具有专门的调节按钮,很方便,不过对于多数朋友来说使用的都是普通鼠标,另外鼠标长

    2022年12月28 213
  • 饿了么骑手怎么加入,刚开始跑外卖太难了

    亲爱的江阴市民:当前受疫情影响,外卖配送企业存在不同程度的运力减弱、订单配送压力较大等情况,请市民朋友多加谅解。结合实际,现向江阴广大市民发出倡议。1、第一步:打开饿了么,进入饿了么首页,点击右下角的

    2023年01月09 273
  • 头条视频怎么下载

    今日头条里面有很多非常精彩的视频,我们往往会收藏,头条视频怎么批量下载,留着以后看。而有时候我们可能要用到这些视频,需要将其下载下来,但是,现在今日头条的视频只能播放和分享,却没有下载选项,这可难住了

    2023年01月15 298
  • 电视无信号是怎么回事,电视打开一直显示无信号

    电视没有信号,怎么调出来电视打开一直显示无信号,主要原因有:1。当前电视信号输入模式不匹配;2。电视机顶盒与电视之间的连接线松动;3。电视信号传输线故障;4。机顶盒故障。主要原因有:1。当前电视信号输

    2023年01月17 249
  • 苹果id账号忘了怎么办,苹果ID退出后忘了账号

    苹果id密码忘了怎么办?随着信息化时代的发展,人们在网上注册了众多个人账号,而每个账号对应下的密码也就随之多了起来,苹果ID退出后忘了账号,十分容易混淆。最近小伙伴把自己的苹果id密码给忘了,不知道如

    2023年01月19 236
  • 怎样把微信的钱转到支付宝,微信无卡转到支付宝

    什么?支付宝可以转钱给微信?大概是小编太久没有留意过支付宝的信息了,看到的时候,这个热搜已经过了差不多一周了。但是没关系,虽迟但到,今天就来看看这个消息的真假吧。事情是这么回事,在10月16号突然爆出

    2022年12月29 253
  • 唯品会怎样看买家评价,唯品会买家评论在哪里看

    从大三开始用的唯品会,因为要邮费,唯品会买家评论在哪里看,所以就开始买了vip可以包邮,那个时候上面的品牌没有那么多,东西质量也还是可以的,偶尔有听说别人在上面买护肤品有买到过假货也不在意的。通常只是

    2023年01月07 247
关注微信