R语言 数据的读写

在R语言中可以读写的最基本的数据格式就是text,以及csv文件。用read.table()或者read.csv函数就可以,相应的写入函数是write.table(),write.csv()。对于其它的格式文件,R语言有相应的包支持,我们最经常用的xlsx格式需要导入library(xlsx)

一 读数据

这个比较简单,直接调用函数即可,参数就是 文件的路径,当然还有其它的一些参数,自行试一试就知道了。如果不太清楚有哪些参数的,调用help函数看一下就ok了。当我们读入的是其它的格式文件时也需要加载相应的包。

二 写数据

write.table()和write.csv(),就可以完成。比较实用的参数就是列名col.name,行名row.name,以及引号quote,一般我们输出的数据有引号,如果想去除的话把quote设置为F就好。

其它格式文件了类似。

三 追加数据(不覆盖原数据)

 1 write.table()

这个函数里有一个参数append,意思是是否向文件添加新数据,但不覆盖原数据。设置为T,就可以向text文件里添加数据了。

 2 write.csv()

这个函数同样也有一个append参数,但是当我没掉用这个参数时,不经没有,还出错了。具体情况不清楚,解决办法。

library(readr)
c<-as.data.frame(c)
c
write_csv(c,'123.csv',append = T)
write_csv(c,'123.csv',append = T)

注意:这里的函数是_csv,不是.csv

c 是我们要添加的数据,必须是一个数据框,R语言里的数据转换可以用as.数据类型进行转换。记得append设置为T。

 2 write.xlsx()

同样这个函数也有append参数,但是却不能实现我们的目的,这个参数的思意是新建一个表,把数据写入到我们新建的 表中,并且需要我们指定一个新的表名,如果不指定,那么就是在之前的表中写入数据就会出错。
所以如果是新建表写入的话,这个函数ok,如果是想在已有的表中写入数据,就会比较复杂,如下

library(xlsx)
wb<-xlsx::createWorkbook() 
sheets<-createSheet(wb,sheetName = 'newSheet1')
if(sheets$getLastRowNum()!=0){
    addDataFrame(c,sheets,col.names = F, startRow = sheets$getLastRowNum()+2)
  }
  else{
    addDataFrame(c,sheets,col.names = F)
  }
  saveWorkbook(wb,'pl.xlsx')

1:新建一个工作薄,xlsx::creatWorkbook()
2:在这个工作薄上新建一个表,需要给定表名createSheet()
3:将数据写到我们新建的表里面。为了避免出错,如上用一个if ,else来写入,
getLastRowNum:获取表的最后一行的数,等于0 的话,说明这个表中还没有数据,直接写入。否则的话就说明表中已经有了数据,我们在最后添加startRow设置为getLastRowNum()+2,
为什加2呢?
这里的下标从0开始,但实际的是从1开始的,所以下一行是+2,而不是+1。
最后:saveWorkbook()保存工作薄! 保存工作薄! 保存工作薄!!!!
其中的还有一些参数自行去感受吧。
值得注意的是,因为我们写入表中的时候可以指定表明,所以也可以指定不同的表将数据写入到不同的表里。

发布了70 篇原创文章 · 获赞 5 · 访问量 7160

猜你喜欢

转载自blog.csdn.net/xiaonanxinyi/article/details/103080589
今日推荐