700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > R语言-文本文件读写 txt / csv / xlsx

R语言-文本文件读写 txt / csv / xlsx

时间:2023-01-31 00:25:34

相关推荐

R语言-文本文件读写 txt / csv / xlsx

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)> data1CountryCode Language IsOfficial Percentage1ABW Dutch TRUE 5.32AFG Dari TRUE 32.13AFGPashto TRUE 52.44AIAEnglish TRUE 0.05ALB Albaniana TRUE 97.96ANDCatalan TRUE 32.37ANT Dutch TRUE 0.08ANT Papiamento TRUE 86.29AREArabic TRUE 42.010 ARGSpanish TRUE 96.811 ARM Armenian TRUE 93.412 ASMEnglish TRUE 3.113 ASMSamoan TRUE 90.614 ATGEnglish TRUE 0.015 AUSEnglish TRUE 81.216 AUTGerman TRUE 92.017 AZE Azerbaijani TRUE 89.0

读取CSV文件

CSV (逗号分隔值文件格式)

CSV”并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“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行数据CountryCode Percentage Percentage.1 Percentage.21 ABWDutch TRUE5.32 ABW English FALSE9.53 ABW Papiamento FALSE 76.74 ABW Spanish FALSE7.45 AFG Balochi FALSE0.96 AFG Dari TRUE 32.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)> #读取文件> data4CountryCodePercentage Percentage.1 Percentage.21 ABW Dutch T5.32 AFG Dari T 32.13 AFGPashto T 52.44 AIA English T0.05 ALB Albaniana T 97.96 AND Catalan T 32.37 ANT Dutch T0.08 ANTPapiamento T 86.29 AREArabic T 42.010ARG Spanish T 96.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')

可以设置不要行名将前面没有意义的1,2…去掉write.csv(data3,'save.csv',row.names = FALSE)得到结果

"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只是数据保存时格式的描述,不是默认保存文件的扩展名> #扩展名需要自己在文件名中写清楚,文件存储格式打开方式是和文件扩展名有关的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。