R语言

关注公众号 jb51net

关闭
首页 > 软件编程 > R语言 > R语言 文件读写

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

作者:i_jiebaby

这篇文章主要介绍了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
  CountryCode  Language IsOfficial Percentage
1     ABW    Dutch    TRUE    5.3
2     AFG    Dari    TRUE    32.1
3     AFG   Pashto    TRUE    52.4
4     AIA   English    TRUE    0.0
5     ALB  Albaniana    TRUE    97.9
6     AND   Catalan    TRUE    32.3
7     ANT    Dutch    TRUE    0.0
8     ANT Papiamento    TRUE    86.2
9     ARE   Arabic    TRUE    42.0
10     ARG   Spanish    TRUE    96.8
11     ARM  Armenian    TRUE    93.4
12     ASM   English    TRUE    3.1
13     ASM   Samoan    TRUE    90.6
14     ATG   English    TRUE    0.0
15     AUS   English    TRUE    81.2
16     AUT   German    TRUE    92.0
17     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.2
1     ABW   Dutch     TRUE     5.3
2     ABW  English    FALSE     9.5
3     ABW Papiamento    FALSE     76.7
4     ABW  Spanish    FALSE     7.4
5     AFG  Balochi    FALSE     0.9
6     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)
> #读取文件
> data4
  CountryCode        Percentage Percentage.1 Percentage.2
1      ABW           Dutch      T     5.3
2      AFG           Dari      T     32.1
3      AFG          Pashto      T     52.4
4      AIA          English      T     0.0
5      ALB         Albaniana      T     97.9
6      AND          Catalan      T     32.3
7      ANT           Dutch      T     0.0
8      ANT        Papiamento      T     86.2
9      ARE          Arabic      T     42.0
10     ARG          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')

存为CSV文件

存成word版数据 

可以设置不要行名将前面没有意义的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只是数据保存时格式的描述,不是默认保存文件的扩展名
> #扩展名需要自己在文件名中写清楚,文件存储格式打开方式是和文件扩展名有关的。

存xlsx文件

到此这篇关于R语言文本文件读写(txt/csv/xlsx)的文章就介绍到这了,更多相关R语言 文件读写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文