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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lovely_J/article/details/82110520
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文件

猜你喜欢

转载自blog.csdn.net/lovely_J/article/details/82110520