将xlsb文件的文件夹导入R

问题描述 投票:1回答:1

我有一个Excel XLSB格式的日常报告文件夹,现在我正在尝试导入文件夹中的所有文件并绑定到R中的一个数据框。我有将多个CSV文件的文件夹导入R的经验,代码如下:

library(tidyverse)
setwd("C:/Folder_Path")
file_path <- list.files(pattern="*.csv")
combined_df <- lapply(file_path, read_csv) %>% bind_rows

我尝试在这种情况下实现此代码以导入XLSB文件,我需要的电子表格是“Sheet1”,标题从第4行开始,因此我创建了一个自定义函数来执行此操作:

library(tidyverse)
binary_import <- function(x){
    readxl::read_excel(x, sheet="Sheet1", skip=3)}
setwd("C:/Folder_Path")
file_path <- list.files(pattern="*.csv")
combined_df <- lapply(file_path, binary_import) %>% bind_rows

然后我注意到readxl包不支持xlsb扩展。有没有可用于完成工作的变通办法,而不是手动将文件转换为csv格式,因为有数百个文件。

r import-from-excel xlsb
1个回答
1
投票

除xlsb部分外,您的代码可以正常工作。您可以使用excel.link包来读取xlsb

library(tidyverse)
library (excel.link)

setwd("C:/Folder_Path")
file_path <- list.files(pattern="*\\.xlsb")
allxlsb <- NULL


for(i in 1:length(file_path)){
  temp <- xl.read.file(filename = file_path[i], xl.sheet = "Sheet1", top.left.cell = "A4")
  allxlsb <- rbind(allxlsb, temp)
}
© www.soinside.com 2019 - 2024. All rights reserved.