tsv、csv、xls等文件类型区别及如何用python处理详解
作者:十二月的猫
前言
考虑到进行机器学习、深度学习训练、预测时我们不免接触到许许多多的数据,而这些数据又以不同的格式存在(主要有csv、xls、tsv三种格式),所以本文就想来讲讲这三种格式数据的转化、阅读、处理
介绍
txt文件:txt为纯文本文件,无格式,只保存内容字符,基本跨平台,不过受字符的编码影响(因为只保存字符编码,一般没特定的编码识别标志),需要选择对应字符解码方式才能正确读取(如GBK编码的字符用UTF-8解码会乱码)
csv文件:CSV是一种简单、实用的文件格式,用于存储和表示包括文本、数值等各种类型的数据。CSV 文件通常以 .csv
作为文件扩展名。这种文件格式的一个显著特点是:文件内的数据以逗号分隔,呈现一个表格形式。CSV 文件已广泛应用于存储、传输和编辑数据
tsv文件:TSV也是一种简单、实用的文件格式,与CSV一样用于存储和表示包括文本、数值等各种类型的数据。其显著特点是文件内的数据以指标符 '\t' 分隔
xls文件:xls是一个特有的二进制格式,核心结构属于复合型文档类型,是2003版本Office Microsoft Office Excel工作表保存的默认格式。新建Excel表格保存的后缀名为“.xls”。最普通的excel格式
xlsx文件:xlsx的核心结构是XML类型结构,采用了XML的压缩方式,使其占用的空间更小,xlsx中最后一个x的意义就在于此,它是Excel2007版本的文件。新建Excel表格默认保存的后缀名为“.xlsx”
xlsm文件:xlsm同xlsx一样是属于07年版本的保存文件。只有保存为xlsm文件格式时,才能够保存写在excel文件中的宏方法,也就是VBA语言程序。它的后缀名是“.xlsm”
doc文件:是office word的文档文件,是是二进制文档,数据结构复杂且保密(微软私有格式,破解的多只能读,写容易出问题,官方word读不回去)
docx文件:是一种基于xml的zip包,开放格式,基本保证支持docx的都能通用读写。
pdf文件:是Adobe推出的文档交换格式,富文本,主要用于实现文档交换(如传阅和打印),对文字格式控制(可保证格式原样不变)和文档保护比doc好,同跨平台,属于开放标准
本文重点来讲讲标红的三种文件格式之间的转化以及文件处理(python语言)
tsv、csv、txt的区别
- 相同点: csv、tsv和txt都属于文本文件。
- 不同点:csv和tsv文件的字段间分别由逗号和tab键隔开,而txt文件则没有明确要求,可使用逗号/制表符/空格等 多种不同的符号。
文件类型 | 全称 | 字段间的分隔符 |
---|---|---|
csv | Comma-separated values | 半角逗号(’,’) |
tsv | Tab-separated values | 制表符(Tab,’\t’) |
txt | Text File | 逗号/制表符/空格等,无固定格式 |
读取/生成 不同格式数据文件(python)
python中有一个库专门用来数据处理,这个库就是pandas。pandas能够对数据进行归一化、标准化、缺失值补全、异常值剔除等处理,当然也能够对不同的格式的数据文件进行读取、生成、转化。学会使用pandas库,将大大方便我的对数据的处理
下图为pandas库下不同格式数据文件读取、生成的函数名称(来源 官方文档):
一、读取/生成csv数据文件
import pandas as pd data=pd.read_csv('./mydata.csv') #读取csv格式文件,mydata.csv为文件名 data.to_csv('./my_new_data.csv') #生成csv格式文件,此时data中存储的是其他文件格式(例如xls)
read_csv函数默认的分隔符参数为‘,’,所以这里的read_csv('./mydata.csv')完整写法为read_csv('./mydata.csv',sep=',')。如果有需要我们也可以修改sep中的分隔符符号,去实现不同分隔符下数据的读取
read_csv函数读取后返回对象为DataFrame类型
二、读取/生成txt数据文件
# 读取txt文件 import pandas as pd # 调用read_table函数读取txt文件 data = pd.read_table("./mydatat.txt") # 调用read_csv函数读取txt文件 df = pd.read_csv("./my_new_data.txt",sep=',')
这里利用read_csv函数来读取txt文件时,这意味着txt文件中数据的分隔符需要是‘,’,否则将无法正确的解析数据
三、读取/生成tsv数据文件
import pandas as pd # 读取TSV文件 data = pd.read_csv('data.tsv', sep='\t')
read_csv()函数通常来读取CSV文件,所以默认情况下,它会将逗号作为分隔符。为了读取TSV文件,我们需要使用read_csv()函数,并将分隔符参数设置为'\t'
四、读取/生成xls数据文件
import pandas as pd #读取xlsx文件转化为DataFrame格式存储在df中 df=pd.read_excel('file.xlsx') #将DataFrame对象转化为xlsx文件格式 df.to_excel('new_file.xlsx')
这两个函数同样可以生成xls文件。xls文件相比于xlsx文件安全系数更好,因为其是用二进制存储的,而xlsx文件是用xml格式存储的,xml格式是为了传输的
不同文件格式转化
一个思路:先将待转化文件格式读取为DataFrame格式,然后再利用DataFrame格式的to_函数转成不同格式文件
总结
python中的pandas库是数据处理的一个利器,如果遇到数据处理的问题都可以利用pandas库来处理
到此这篇关于tsv、csv、xls等文件类型区别及如何用python处理的文章就介绍到这了,更多相关python处理tsv、csv、xls文件类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!