.tsv和.csv格式文件区别及python处理

机器学习中,我们在使用一些经典的分类器对数据进行分类时,需要对数据进行一些必要的预处理。或者我们在使用别人提供的数据使用一些经典的机器学习算法进行学习时,一般常见的数据格式会是.tsv和.csv格式.

逗号分隔值

(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列.

特点

  • 读取出的数据一般为字符类型,如果是数字需要人为转换为数字

  • 以行为单位读取数据

  • 列之间以半角逗号或制表符为分隔,一般为半角逗号

  • 一般为每行开头不空格,第一行是属性列,数据列之间以间隔符为间隔无空格,行之间无空行
    行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错,引发[list index out of range]错误
    TSV:tab separated values;即“制表符分隔值”,如:

    name age
    张三 20
    李四 30

CSV: comma separated values;即“逗号分隔值”,如:

name,age
张三,20
李四,30

注:

两者均是以纯文本形式存储的表格数据,可由表格软件导出或读入,编码方式是可以自行定义的。本质而言没有太大区别。

python中都有很成熟的可供调用的接口处理该两种类型的文件。
注意:IANA规定的标准TSV格式,字段值之中是不允许出现制表符
Python对TSV文件的支持:
Python的csv模块准确的讲应该叫做dsv模块,因为它实际上是支持范式的分隔符分隔值文件(DSV,delimiter-separated values)的。
delimiter参数值默认为半角逗号,即默认将被处理文件视为CSV。
当delimiter=’\t’时,被处理文件就是TSV。

python的csv模块读写csv文件
pandas模块 pd.read_csv()读取csv文件

https://blog.csdn.net/colourful_sky/article/details/79519597
https://blog.csdn.net/u010004460/article/details/52080709

你可能感兴趣的:(python)