本文概述
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)
输出
评论前必须登录!
注册