添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

感谢Adrian A. Drǎgulescu发布的xlsx包

xlsx包提供了必要的工具来与Excel 2007进行交互。用户可以阅读和编写xlsx,并可以通过设置数据格式、字体、颜色和边框来控制电子表格的外观。设置打印区域,缩放控制,创建分割和冻结面板,添加页眉和页脚。包使用Apache POI项目中的java库。本篇主要分享利用xlsx工具包在读写xlsx过程中所碰到的问题及解决办法。

强烈建议大家使用RStudio这个IDE,它是以今为止对R语言最友好的一个IDE之一,而且使用很方便。特别是在新包下载安装的时候,只需请求要安装的包名,RStudio会自动将关联的其他包也一并下载并安装。

  • 安装R、安装RStudio;
  • 一个简单的示例数据(本次以iris鸢尾花数据为例);
  • 下载安装xlsx(Rstudio会同步下载并安装rJava, xlsxjars两个包);
  • > # 下载并安装xlsx包
    > install.packages("xlsx")
    > library(xlsx)
    

    【基础】简单读取excel文件数据

    假如是csv或txt等文本类的数据文件,利用R内置函数read.csv()与read.table()就可读取(注意编码格式的参数设置)。Excel由于使用范围最广,很多问题不可避免,因此,xlsx包提供了专门读取xlsx的函数read.xlsx和read.xlsx2,为什么有两个呢?请看以下区别:

    xlsx::read.xlsx() file, sheetIndex, sheetName=NULL, rowIndex=NULL,startRow=NULL,endRow=NULL, colIndex=NULL,as.data.frame=TRUE, header=TRUE, colClasses=NA,keepFormulas=FALSE, encoding=“unknown”, password=NULL, … xlsx::read.xlsx2() file, sheetIndex, sheetName=NULL, startRow=1,colIndex=NULL, endRow=NULL, as.data.frame=TRUE, header=TRUE,colClasses=“character”, password=NULL, …

    其实只是细微的差别,大家自己体会即可。下面给个参考案例:

    > # 指定file和sheetIndex(或sheetName),即可定位到相应的工作表
    > data1 <- read.xlsx("iris.xlsx",sheetIndex = 1)
    > head(data1)
                                        使用上述代码,你可以将数据框导出为Excel文件。请确保将代码中的"mydata"替换为你想要导出的实际数据框的名称,并将文件名"mydata.xlsx"替换为你想要保存的文件名和路径。这行代码将数据框"mydata"写入到"Sheet1"工作表中,起始行和列分别为1。首先,确保已经安装了xlsx。这行代码将工作簿保存为名为"mydata.xlsx"的Excel文件。希望这个回答对你有帮助!如果你有任何其他问题,请随时提问。这里我们创建了一个名为"Sheet1"的工作表。
                                        R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
                                        一、xlsx里的read.xlsx()和read.xlsx2(),以dataframe格式读入,二者的区别是read.xlsx2()读取数据量的大(超过100 000个单元格)的表格更快。三、readxl里的read_xls()、read_xlsx()和read_excel(),以tibble格式读入。相应的,导出数据的函数也有两个,分别是write.xlsx()和write.xlsx2()。对于read_excel()的具体实例可以学习这个链接。二、openxlsx里的read.xlsx()
                                        首选点击图中三个点的位置,找到自己储存代码和数据的文件夹并打开,然后点击设置里面的set as working directory。这样就把自己的文件夹设置为工作目录了,后面写数据文件地址的相对路径就可以调用数据了。如果不切换目录,有可能找不到’练习数据.xlsx’的位置(也可以使用绝对路径,使用\切分,但是我习惯在工作目录建立代码储存数据,因此要切换一下)。然后就可以使用read.xslx读取xslx文件了,其中代码中的’练习数据.xlsx’是工作目录下的数据文件,1是指练习数据.xlsx的表单1。