【python】用csv包读取tsv文件

python的csv包可以读取csv格式的文件,大家应该都知道~

但最近自己有个需求,需要读取tsv文件,为此百度了下,发现网上并没有用python基础包直接读入tsv文件的方法,但是可以安装Pandas模块用来读取tsv格式文件。但是csv与tsv在本质上并没有区别,为嘛为了tsv要安装个Pandas包,强迫症受不了~

 

csv与tsv区别

tsv和csv都是以纯文本文件存储的电子表格格式,两者都可以用文本编辑器、Sublime等程序打开,同时他们又是电子表格形式,可以用Excel等电子表格程序打开。tsv和csv被广泛用于计算机存储简单的电子表格数据(貌似csv用的更频繁些~但是有些老外喜欢用tsv格式……嗯……坑货!)

TSV:tab separated values;即“制表符分隔值”,用制表符分隔数据,数据样例如下:

name,agename    age
张三      20
李四      30

CSV: comma separated values;即“逗号分隔值”,用逗号分隔数据,数据样例如下:

张三,20
李四,30

可以看到,他们的唯一区别只是分隔符不一样,tsv格式是用‘\t’分隔,而csv格式是用‘,’分隔。

既然他们的差别不大,那么能否用csv包来处理tsv格式文件呢?能~

 

用csv包读入tsv文件

默认的csv只能处理以逗号为分隔符的文件,为了让csv包能处理tsv文件,本质上是让其能处理以制表符(\t)为分隔符的文件。

第一步:修改csv包的解析文件模式

import csv

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

csv中register_dialect()方法是创建自己的解析模式,第一个参数是模式名称(自己取名),第二个参数用于配置分隔符(这里我们把分隔符改成制表符,这样便可以解析tsv格式)

第二步:用自己的解析模式读入tsv文件

with open('myFile.tsv',) as csvfile:
    file_list = csv.reader(csvfile,'mydialect')
    for line in file_list:
        print line 

通过csv中的reader()方法解析tsv文件便可,第一个参数是要解析的文件,第二个参数是要使用的解析模式(这里用刚刚配置好的mydialect解析文件)

第三步:注销自己的解析模式

csv.unregister_dialect(mydialect)

通过unregister_dialect()方法可以注销掉自己配置的解析模式

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值