如何将多个“.xlsx”文件读入R中

9 浏览
0 Comments

如何将多个“.xlsx”文件读入R中

在尝试从同一个目录中读取多个.xlsx文件到R时遇到了问题。我一直收到以下错误信息。

"Error in path.expand(file) : argument "file" is missing, with no default"

我的代码如下。

require(.xlsx)
Files=list.files(path="I:/Marcs_Discretinization_try_1/Attempt1/Actual     Data", pattern=".xlsx")
sapply(Files, read.xlsx2(sheetIndex=8))

对象Files的输出看起来像这样,似乎没有附加的路径。

 [1] "2015-B1-2OR.xlsx"    "2015-B1-OR10-B.xlsx" "2015-B1-OR10.xlsx"   "2015-B1-OR19.xlsx"   "2015-B2-OR19.xlsx"  
 [6] "2015-O1-2OR.xlsx"    "2015-O1-OR10-B.xlsx" "2015-O1-OR10.xlsx"   "2015-O2-2OR.xlsx"    "2015-O2-OR10-B.xlsx"
[11] "2015-O2-OR10.xlsx"   "2015-X1-2OR.xlsx"    "2015-X1-OR10-B.xlsx" "2015-X1-OR10.xlsx"   "2015-X2-2OR.xlsx"   
[16] "2015-X2-OR10-B.xlsx" "2015-X2-OR10.xlsx"  

0
0 Comments

你想要合并一个文件夹中的所有Excel文件吗?

library(xlsx)
setwd("C:/Users/rshuell001/Desktop/excel_files")
data.files = list.files(pattern = "*.xlsx")
data <- lapply(data.files, function(x) read.xlsx(x, sheetIndex = 1))
for (i in data.files) {
    data <- rbind(data, read.xlsx(i, sheetIndex = 1))
}

这段代码中,首先使用`library(xlsx)`引入xlsx包,然后使用`setwd()`将工作目录设置为存放Excel文件的文件夹路径。接下来,使用`list.files(pattern = "*.xlsx")`获取文件夹中所有扩展名为.xlsx的文件,并将结果存储在data.files中。

然后,使用`lapply()`函数遍历data.files中的每个文件名,使用`read.xlsx()`函数读取每个文件的第一个sheet,并将结果存储在data列表中。

最后,使用for循环遍历data.files中的每个文件名,使用`read.xlsx()`函数读取每个文件的第一个sheet,并使用`rbind()`函数将结果与之前读取的数据合并,并将结果存储在data中。

这样,我们就可以将文件夹中的所有Excel文件读取到R中,并将它们合并为一个数据框。

0
0 Comments

在R中读取多个".xlsx"文件的问题是出现在以下情况下的:用户想要将多个".xlsx"文件读取到R中进行数据处理和分析,但是不知道如何一次性读取多个文件。

解决这个问题的方法是使用lapply函数和bind_rows函数。首先,需要加载tidyversemagittrreadxl这三个R包。然后,需要指定存储".xlsx"文件的路径,这里是"I:/project/raw_data"。接下来,使用list.files函数找到该路径下所有符合条件(以".xlsx"结尾)的文件,并将它们保存在url_xlsx变量中。

定义一个名为read_xlsx_files的函数,它的输入参数是一个文件名。在这个函数中,使用read_xlsx函数读取指定路径下的文件,并将结果保存在df变量中。最后,返回df

使用lapply函数,对url_xlsx中的每个文件名应用read_xlsx_files函数,得到一个包含多个数据框的列表。然后,使用bind_rows函数将这些数据框合并成一个数据框,并将结果保存在df变量中。

通过上述步骤,就可以将多个".xlsx"文件读取到R中,并且合并成一个数据框。这样用户就可以方便地进行后续的数据处理和分析了。

0