在R中操作工作目录文件格式:xlsb转xlsx实现方案
在无法安装readxlsb包的情况下,如何在R中处理多工作表xlsb文件?
问题背景
我需要在R中导入一个包含多工作表的xlsb文件,往常会用readxlsb包来完成,但学校/大学的电脑无法安装这个包。
我发现可以手动将xlsb格式转为xlsx,再用readxl::read_excel函数导入,但我想知道:能不能通过R的system()命令直接在R环境内完成格式转换,之后再用readxl包导入?
举个例子,我知道在R中可以这样删除工作目录里的文件:
a = data.frame(a = rnorm(100,100,100), b = rnorm(100,100,100)) write.csv(a, "Test.csv") wd <- getwd() file_path <- file.path(wd, "Test.csv") file.remove(file_path)
那有没有类似的方法可以转换工作目录中文件的格式?
编辑:替代方法(受Quinten回答启发)
后来我尝试用openxlsx包实现xlsb与xlsx的格式互转,代码如下:
install.packages("openxlsx") install.packages("readxl") library(openxlsx) library(readxl) a <- data.frame(a = rnorm(100, 100, 100), b = rnorm(100, 100, 100)) write.csv(a, "Test.csv") data <- read.csv("Test.csv") write.xlsx(data, "Test.xlsx") convert_to_xlsb <- function(xlsx_file, xlsb_file) { wb <- loadWorkbook(xlsx_file) saveWorkbook(wb, xlsb_file, overwrite = TRUE) } convert_to_xlsb("Test.xlsx", "Test.xlsb") convert_xlsb_to_xlsx <- function(xlsb_file, xlsx_file) { wb <- loadWorkbook(xlsb_file) saveWorkbook(wb, xlsx_file, overwrite = TRUE) } convert_xlsb_to_xlsx("Test.xlsb", "Test_converted.xlsx")
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

