R语言文本文件读写(txt/csv/xlsx)
本文主要介绍了R语言文本文件读写,分享给大家,具体如下:
read.table(file,sep,hesder) #file文件路径 #sep分隔符 #header第一行是不是列名(如果第一行是列名导入的时候填TRUE;默认值是FALSE,即把第一行算作数据)
准备工作
为方便后面使用的相对路径,我们先使用setwd(路径)设置路径,设置好之后可以用getwd()获取当前路径进行检查。
>setwd("F:/r-test-data") >getwd() [1]"F:/r-test-data"
注意数据分隔符:
因为数据有时候是从数据库导出或者.xlsx里截取等等,所以有时候看起来是空白分隔却有着不一样的格式。
常见空白分隔符有:空格,制表符,换行符
sep=””;sep=“\t”;sep=“\n”
读取txt文件
将工作路径调制要导入文件所在的文件夹下,之后输入.txt的文件名和分隔符就可以导入数据了。
>data1<-read.table('test.txt',sep='\t',header=TRUE) >data1 CountryCodeLanguageIsOfficialPercentage 1ABWDutchTRUE5.3 2AFGDariTRUE32.1 3AFGPashtoTRUE52.4 4AIAEnglishTRUE0.0 5ALBAlbanianaTRUE97.9 6ANDCatalanTRUE32.3 7ANTDutchTRUE0.0 8ANTPapiamentoTRUE86.2 9AREArabicTRUE42.0 10ARGSpanishTRUE96.8 11ARMArmenianTRUE93.4 12ASMEnglishTRUE3.1 13ASMSamoanTRUE90.6 14ATGEnglishTRUE0.0 15AUSEnglishTRUE81.2 16AUTGermanTRUE92.0 17AZEAzerbaijaniTRUE89.0
读取CSV文件
CSV(逗号分隔值文件格式)
CSV”并不是一种单一的、定义明确的格式(尽管RFC4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有
以下特征的任何文件:
1.纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2.由记录组成(典型的是每行一条记录);
3.每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
4.每条记录都有同样的字段序列。
在数据
在R语言使用过程中最为常用的数据格式,有专门的读取函数read.csv(file,header)(read.csv也可用于读取逗号分隔的.txt文件)。
读取Excel文件通常,先转为CSV格式,然后再使用。
这里的countrylanguage.csv文件,是我直接从MySQL数据库中导出.csv格式的数据集合。
>data2<-read.csv('countrylanguage.csv',TRUE) >head(data2) >#通过head()函数可以读取前6行数据 CountryCodePercentagePercentage.1Percentage.2 1ABWDutchTRUE5.3 2ABWEnglishFALSE9.5 3ABWPapiamentoFALSE76.7 4ABWSpanishFALSE7.4 5AFGBalochiFALSE0.9 6AFGDariTRUE32.1
读取Excel文件
一种需要配置java环境的读文件,如果大家电脑中没有装好的java环境,还是建议大家还是把.xlsx另存为.csv;如果本来就是JAVA语言使用者那就可以直接体验,不必繁琐的配环境了。
读取Excel需要使用到xlsx包,xlsx依赖于rjava包,rjava虽然是R语言包但是使用环境需要JAVA语言编译环境JRE(JDK是JAVA的运行环境包括了JRE)。
安装流程:安装JDK->加载rJava->加载xlsx包
注意:R语言是一个大小写敏感的语言,大家下载和加载包时要注意包名里字母的大小写例如:install.packages('rjava')会提示包名应该为rJava。
配置好jdk环境,加载好rJava和xlsx包就可以开始读取Excel文件了。
>data4<-read.xlsx('countrylanguage.xlsx',sheetIndex=1) >#读取文件 >data4 CountryCodePercentagePercentage.1Percentage.2 1ABWDutchT5.3 2AFGDariT32.1 3AFGPashtoT52.4 4AIAEnglishT0.0 5ALBAlbanianaT97.9 6ANDCatalanT32.3 7ANTDutchT0.0 8ANTPapiamentoT86.2 9AREArabicT42.0 10ARGSpanishT96.8
写入文件
可以保存成任意符号分隔的文件write.table(data,file,sep)
保存成文件的类型要自己以扩展名的方式写在‘file'字段里,比如test.csv,test.doc,test.xlsx
写CSV文件
write.csv(data,file)
#为了检验方便,这里我们把countrylanguage前六行数另存为.csv文件;当然文件的扩展名是可以自己指定的,当然文件里数据都是逗号分割的。 >data3<-head(data2) >write.csv(data3,'save.csv') >write.csv(data3,'save.doc')
"CountryCode","Percentage","Percentage.1","Percentage.2" "ABW","Dutch",TRUE,5.3 "ABW","English",FALSE,9.5 "ABW","Papiamento",FALSE,76.7 "ABW","Spanish",FALSE,7.4 "AFG","Balochi",FALSE,0.9 "AFG","Dari",TRUE,32.1
写xlsx文件
将要保存的数据存成.xlsx文件
>write.xlsx(head(data3),'test.xlsx',row.names=FALSE) >#和之前写文件一样,write.‘type'(),type只是数据保存时格式的描述,不是默认保存文件的扩展名 >#扩展名需要自己在文件名中写清楚,文件存储格式打开方式是和文件扩展名有关的。
到此这篇关于R语言文本文件读写(txt/csv/xlsx)的文章就介绍到这了,更多相关R语言文件读写内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。