📜  R Excel文件

📅  最后修改于: 2021-01-08 09:50:40             🧑  作者: Mango

R Excel档案

xlsx是电子表格文件格式的文件扩展名,由Microsoft创建以与Microsoft Excel一起使用。在当前时代,Microsoft Excel是一种广泛使用的电子表格程序,它以.xls或.xlsx格式保存数据。 R通过提供一些excel特定的软件包,允许我们直接从这些文件中读取数据。有很多软件包,例如XLConnect,xlsx,gdata等。我们将使用xlsx软件包,它不仅允许我们从excel文件中读取数据,还允许我们在其中写入数据。

安装xlsx软件包

我们的主要任务是借助install.package命令安装“ xlsx”软件包。当我们安装xlsx软件包时,它将要求我们安装该软件包所依赖的其他一些软件包。要安装其他软件包,请使用相同的命令以及所需的软件包名称。安装命令的语法如下:

install.packages("package name") 

install.packages("xlsx")

输出量

验证和加载“ xlsx”软件包

在R中,使用grepl()和any()函数来验证软件包。如果安装了软件包,则这些函数将返回True,否则返回False。为了验证包,两个功能一起使用。

为了加载,我们将library()函数与相应的包名称一起使用。此函数还将加载所有其他软件包。

#Installing xlsx package
install.packages("xlsx")

# Verifying the package is installed.
any(grepl("xlsx",installed.packages()))

# Loading the library into R workspace.
library("xlsx")

输出量

创建一个xlsx文件

将xlsx软件包加载到我们的系统后,我们将使用以下数据创建一个excel文件并将其命名为employee。

除此之外,我们将使用以下数据创建另一个表,并将其命名为employee_info。


注意:这两个文件都将保存在R工作区的当前工作目录中。

读取Excel文件

像CSV文件一样,我们可以从excel文件中读取数据。 R提供read.xlsx()函数,该函数将两个参数作为输入,即文件名和图纸索引。该函数在R环境中以数据帧的形式返回excel数据。 read.xlsx()函数具有以下语法:

read.xlsx(file_name,sheet_index)

让我们看一个例子,其中我们从employee.xlsx文件中读取数据。

#Loading xlsx package
library("xlsx")

# Reading the first worksheet in the file employee.xlsx.
excel_data<- read.xlsx("employee.xlsx", sheetIndex = 1)
print(excel_data)

输出量

将数据写入Excel文件

在R中,我们还可以将数据写入.xlsx文件。 R提供了write.xlsx()函数以将数据写入excel文件。 write.xlsx()函数具有以下语法:

write.xlsx(data_frame,file_name,col.names,row.names,sheetnames,append)

这里,

  • data_frame是我们的数据,我们要插入到我们的excel文件中。
  • file_names是我们要在其中插入数据的文件的名称。
  • col.names和row.names是逻辑值,用于指定是否要将数据帧的列名/行名写入文件。
  • 附加值是一个逻辑值,表示我们的数据应附加或不附加到现有文件中。

让我们看一个示例,以了解write.xlsx()函数如何使用其参数。

#Loading xlsx package
library("xlsx")

#Creating data frame
emp.data<- data.frame(  
name = c("Raman","Rafia","Himanshu","jasmine","Yash"),  
salary = c(623.3,915.2,611.0,729.0,843.25),   
start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11","2015-03-27")),
dept = c("Operations","IT","HR","IT","Finance"),  
stringsAsFactors = FALSE  
)  

# Writing the first data set in employee.xlsxRscript
write.xlsx(emp.data, file = "employee.xlsx", col.names=TRUE, row.names=TRUE,sheetName="Sheet2",append = TRUE)
    
# Reading the first worksheet in the file employee.xlsx.
excel_data<- read.xlsx("employee.xlsx", sheetIndex = 1)
print(excel_data)

# Reading the first worksheet in the file employee.xlsx.
excel_data<- read.xlsx("employee.xlsx", sheetIndex = 2)
print(excel_data)

输出量