第七章:数据持久存储与交换-csv:逗号分隔值文件-方言

7.6.3 方言
逗号分隔值文件没有明确定义的标准,所以解析器必须很灵活。为了提供这种灵活性,可以用很多参数来控制csv如何解析或写数据。并不是将各个参数单独传入阅读器和书写器,而是可以把它们组合在一起构成一个方言(dialect)对象。
方言类可以按名注册,这样csv模块的调用者就不需要提前知道参数设置。可以用list_dialects()获取已注册方言的完整列表。

import csv

print(csv.list_dialects())

标准库包括3个方言,excel,excel-tabs和unix。excel方言用于处理采用Microsoft Excel默认导出格式的数据,也可以处理LibreOffice。unix方言将所有字段都加双引号,并使用\n作为记录分隔符。
运行结果:

[‘excel’, ‘excel-tab’, ‘unix’]

7.6.3.1 创建方言
可以不使用逗号来分隔字段,如果输入文件使用了竖线(|),则可以使用适当的定界符注册一个新的方言。

import csv

csv.register_dialect('pipes',delimiter='|')

with open('testdata.pipes','r') as f:
    reader = csv.reader(f,dialect='pipes')
    for row in reader:
        print(row)

通过使用“pipes”方言,可以像读取逗号定界文件一样读取文件。
运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值