目录

前言

介绍

tsv、csv、txt的区别

读取/生成 不同格式数据文件(python)

 一、读取/生成csv数据文件

 二、读取/生成txt数据文件

三、读取/生成tsv数据文件

四、读取/生成xls数据文件

不同文件格式转化

总结 


前言

考虑到进行机器学习、深度学习训练、预测时我们不免接触到许许多多的数据,而这些数据又以不同的格式存在(主要有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文件则没有明确要求,可使用逗号/制表符/空格等 多种不同的符号。
文件类型全称字段间的分隔符
csvComma-separated values半角逗号(’,’)
tsvTab-separated values制表符(Tab,’\t’)
txtText 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数据文件

filename = 'example.txt'
#打开txt文件
f = open(filename, 'r')
#读取文件内容
content = f.read()
print(content)
#关闭文件
f.close()

这里利用read_csv函数来读取txt文件时,这意味着txt文件中数据的分隔符需要是‘,’,否则将无法正确的解析数据

利用to_csv函数来生成txt数据文件。说是生成,本质就是修改文件的间隔符而不是真真切切修改文件的拓展名。因此,拓展名的修改需要手动进行

三、读取/生成tsv数据文件

import pandas as pd

# 读取TSV文件
data = pd.read_csv('data.tsv', sep='\t')

# 生成TSV文件
df.to_csv('data.tsv', sep='\t', index=False)

read_csv()函数通常来读取CSV文件,所以默认情况下,它会将逗号作为分隔符。为了读取TSV文件,我们需要使用read_csv()函数,并将分隔符参数设置为'\t'

利用to_csv函数来生成tsv数据文件。说是生成,本质就是修改文件的间隔符而不是真真切切修改文件的拓展名。因此,拓展名的修改需要手动进行

四、读取/生成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库来处理

  1. tsv和csv本质是相同的,只是分割符不同。都使用read_csv、to_csv
  2. txt利用open,read、close
  3. xls、xlsx文件利用read_excel、to_excel来实现
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐