当存在excel文件或工作表时,如何在R中使用write.xlsx
我正在尝试使用当存在excel文件或工作表时,如何在R中使用write.xlsx,r,excel,openxlsx,R,Excel,Openxlsx,我正在尝试使用openxlsx::write.xlsx将结果写入R中的Excel电子表格 如果文件存在并且要添加新工作表,我可以使用append=T。是否有任何方法可以自动检查文件,而不是使用if来检查文件 如果文件和工作表都存在并且要更新此工作表,我应该如何覆盖结果?谢谢 您可以检查工作表之前是否存在,如果存在,请将其删除,如果不存在,请将其附加到现有文件。如果不存在,此命令还将创建文件 library(xlsx) path <- "testing.xlsx" sheet_name =
openxlsx::write.xlsx
将结果写入R中的Excel电子表格
append=T
。是否有任何方法可以自动检查文件,而不是使用if来检查文件您可以检查工作表之前是否存在,如果存在,请将其删除,如果不存在,请将其附加到现有文件。如果不存在,此命令还将创建文件
library(xlsx)
path <- "testing.xlsx"
sheet_name = "new_sheet"
data <-
data.frame(
B = c(1, 2, 3, 4)
)
if(sheet_name %in% names(getSheets(loadWorkbook(path)))){
wb <- loadWorkbook(path)
removeSheet(wb, sheetName = sheet_name)
saveWorkbook(wb, path)
}
write.xlsx(data, path, sheetName = sheet_name, append = TRUE)
库(xlsx)
path您可以检查工作表之前是否存在,如果存在,则将其删除,如果不存在,则将其附加到现有文件。如果该文件不存在,此命令还将创建该文件
library(xlsx)
path <- "testing.xlsx"
sheet_name = "new_sheet"
data <-
data.frame(
B = c(1, 2, 3, 4)
)
if(sheet_name %in% names(getSheets(loadWorkbook(path)))){
wb <- loadWorkbook(path)
removeSheet(wb, sheetName = sheet_name)
saveWorkbook(wb, path)
}
write.xlsx(data, path, sheetName = sheet_name, append = TRUE)
库(xlsx)
path您可以检查工作表之前是否存在,如果存在,则将其删除,如果不存在,则将其附加到现有文件。如果该文件不存在,此命令还将创建该文件
library(xlsx)
path <- "testing.xlsx"
sheet_name = "new_sheet"
data <-
data.frame(
B = c(1, 2, 3, 4)
)
if(sheet_name %in% names(getSheets(loadWorkbook(path)))){
wb <- loadWorkbook(path)
removeSheet(wb, sheetName = sheet_name)
saveWorkbook(wb, path)
}
write.xlsx(data, path, sheetName = sheet_name, append = TRUE)
库(xlsx)
path您可以检查工作表之前是否存在,如果存在,则将其删除,如果不存在,则将其附加到现有文件。如果该文件不存在,此命令还将创建该文件
library(xlsx)
path <- "testing.xlsx"
sheet_name = "new_sheet"
data <-
data.frame(
B = c(1, 2, 3, 4)
)
if(sheet_name %in% names(getSheets(loadWorkbook(path)))){
wb <- loadWorkbook(path)
removeSheet(wb, sheetName = sheet_name)
saveWorkbook(wb, path)
}
write.xlsx(data, path, sheetName = sheet_name, append = TRUE)
库(xlsx)
path这里是一个openxlsx的答案。为了演示,我们需要一些数据
## Create a simple test file
library(openxlsx)
hs <- createStyle(textDecoration = "Bold")
l <- list("IRIS" = iris, "MTCARS" = mtcars)
write.xlsx(l, file = "TestFile.xlsx", borders = "columns", headerStyle = hs)
您可以检查工作簿中是否存在该选项卡(工作表)
## Check available sheets
getSheetNames("TestFile.xlsx")
问题2的步骤:
1.将文件读入工作簿对象。
2.将要修改的工作表中的数据拉入数据框。
3.将data.frame修改为taste
4.将数据保存回工作簿中
5.将工作簿保存到磁盘
为了得到一个简单的示例,让我们创建一个简单的测试文件
## Load existing file
wb = loadWorkbook("TestFile.xlsx")
## Pull all data from sheet 1
Data = read.xlsx(wb, sheet=1)
## Change a single element for demonstration
## ** Beware!! ** Because of the header,
## the 2,2 position in the data
## is row 3 column 2 in the spreadsheet
Data[2,2] = 1492
## Put the data back into the workbook
writeData(wb, sheet=1, Data)
## Save to disk
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
您可以打开电子表格并检查是否已进行更改
如果您想完全更改工作表(如您的评论),
您只需删除旧工作表,然后将其替换为新工作表即可
使用相同的名称
removeWorksheet(wb, "IRIS")
addWorksheet(wb, "IRIS")
NewData = data.frame(X1=1:4, X2= LETTERS[1:4], X3=9:6)
writeData(wb, "IRIS", NewData)
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
下面是一个openxlsx的答案。为了演示,我们需要一些数据
## Create a simple test file
library(openxlsx)
hs <- createStyle(textDecoration = "Bold")
l <- list("IRIS" = iris, "MTCARS" = mtcars)
write.xlsx(l, file = "TestFile.xlsx", borders = "columns", headerStyle = hs)
您可以检查工作簿中是否存在该选项卡(工作表)
## Check available sheets
getSheetNames("TestFile.xlsx")
问题2的步骤:
1.将文件读入工作簿对象。
2.将要修改的工作表中的数据拉入数据框。
3.将data.frame修改为taste
4.将数据保存回工作簿中
5.将工作簿保存到磁盘
为了得到一个简单的示例,让我们创建一个简单的测试文件
## Load existing file
wb = loadWorkbook("TestFile.xlsx")
## Pull all data from sheet 1
Data = read.xlsx(wb, sheet=1)
## Change a single element for demonstration
## ** Beware!! ** Because of the header,
## the 2,2 position in the data
## is row 3 column 2 in the spreadsheet
Data[2,2] = 1492
## Put the data back into the workbook
writeData(wb, sheet=1, Data)
## Save to disk
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
您可以打开电子表格并检查是否已进行更改
如果您想完全更改工作表(如您的评论),
您只需删除旧工作表,然后将其替换为新工作表即可
使用相同的名称
removeWorksheet(wb, "IRIS")
addWorksheet(wb, "IRIS")
NewData = data.frame(X1=1:4, X2= LETTERS[1:4], X3=9:6)
writeData(wb, "IRIS", NewData)
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
下面是一个openxlsx的答案。为了演示,我们需要一些数据
## Create a simple test file
library(openxlsx)
hs <- createStyle(textDecoration = "Bold")
l <- list("IRIS" = iris, "MTCARS" = mtcars)
write.xlsx(l, file = "TestFile.xlsx", borders = "columns", headerStyle = hs)
您可以检查工作簿中是否存在该选项卡(工作表)
## Check available sheets
getSheetNames("TestFile.xlsx")
问题2的步骤:
1.将文件读入工作簿对象。
2.将要修改的工作表中的数据拉入数据框。
3.将data.frame修改为taste
4.将数据保存回工作簿中
5.将工作簿保存到磁盘
为了得到一个简单的示例,让我们创建一个简单的测试文件
## Load existing file
wb = loadWorkbook("TestFile.xlsx")
## Pull all data from sheet 1
Data = read.xlsx(wb, sheet=1)
## Change a single element for demonstration
## ** Beware!! ** Because of the header,
## the 2,2 position in the data
## is row 3 column 2 in the spreadsheet
Data[2,2] = 1492
## Put the data back into the workbook
writeData(wb, sheet=1, Data)
## Save to disk
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
您可以打开电子表格并检查是否已进行更改
如果您想完全更改工作表(如您的评论),
您只需删除旧工作表,然后将其替换为新工作表即可
使用相同的名称
removeWorksheet(wb, "IRIS")
addWorksheet(wb, "IRIS")
NewData = data.frame(X1=1:4, X2= LETTERS[1:4], X3=9:6)
writeData(wb, "IRIS", NewData)
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
下面是一个openxlsx的答案。为了演示,我们需要一些数据
## Create a simple test file
library(openxlsx)
hs <- createStyle(textDecoration = "Bold")
l <- list("IRIS" = iris, "MTCARS" = mtcars)
write.xlsx(l, file = "TestFile.xlsx", borders = "columns", headerStyle = hs)
您可以检查工作簿中是否存在该选项卡(工作表)
## Check available sheets
getSheetNames("TestFile.xlsx")
问题2的步骤:
1.将文件读入工作簿对象。
2.将要修改的工作表中的数据拉入数据框。
3.将data.frame修改为taste
4.将数据保存回工作簿中
5.将工作簿保存到磁盘
为了得到一个简单的示例,让我们创建一个简单的测试文件
## Load existing file
wb = loadWorkbook("TestFile.xlsx")
## Pull all data from sheet 1
Data = read.xlsx(wb, sheet=1)
## Change a single element for demonstration
## ** Beware!! ** Because of the header,
## the 2,2 position in the data
## is row 3 column 2 in the spreadsheet
Data[2,2] = 1492
## Put the data back into the workbook
writeData(wb, sheet=1, Data)
## Save to disk
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
您可以打开电子表格并检查是否已进行更改
如果您想完全更改工作表(如您的评论),
您只需删除旧工作表,然后将其替换为新工作表即可
使用相同的名称
removeWorksheet(wb, "IRIS")
addWorksheet(wb, "IRIS")
NewData = data.frame(X1=1:4, X2= LETTERS[1:4], X3=9:6)
writeData(wb, "IRIS", NewData)
saveWorkbook(wb, "TestFile.xlsx", overwrite = TRUE)
这可能很有用:.write.xlsx
来自哪个包?该函数不在base中R@samadhi谢谢在当前代码中,使用了openxlsx包。要使用xlsx,我需要分离,然后再次连接。我很好奇这两个软件包之间有什么区别?@IceCreamToucan它来自openxlsx。这可能很有用:.write.xlsx
来自哪个软件包?该函数不在base中R@samadhi谢谢在当前代码中,使用了openxlsx包。要使用xlsx,我需要分离,然后再次连接。我很好奇这两个软件包之间有什么区别?@IceCreamToucan它来自openxlsx。这可能很有用:.write.xlsx
来自哪个软件包?该函数不在base中R@samadhi谢谢在当前代码中,使用了openxlsx包。要使用xlsx,我需要分离,然后再次连接。我很好奇这两个软件包之间有什么区别?@IceCreamToucan它来自openxlsx。这可能很有用:.write.xlsx
来自哪个软件包?该函数不在base中R@samadhi谢谢在当前代码中,使用了openxlsx包。要使用xlsx,我需要分离,然后再次连接。我很好奇这两个软件包之间有什么区别?@IceCreamToucan它来自openxlsx。谢谢Nareman。在当前代码中,使用了openxlsx包。有什么理由选择一个而不是另一个吗?我是从别的地方得到代码的。我真的不知道哪一个更好。也许这是一个向社区中的其他人询问此类问题的电话。@NaremanDarwish xlsx软件包要求在您的系统上安装Java v 1.6或更高版本,而openxlsx则不需要。谢谢Nareman。在当前代码中,使用了openxlsx包。有什么理由选择一个而不是另一个吗?我是从别的地方得到代码的。我真的不知道哪一个更好。也许这是一个询问suc的电话