write.xlsx function gives error when defining path with the file name but read.xlsx is fine
Asked Answered
U

1

10

I have a problem with the write.xlsx2 function of xlsx R package. For instance, see the code below.

main_path<-"~/mydir/"
read.xlsx2(paste0(main_path,"my_input_excel.xlsx"), sheetIndex=1)
a<-1
write.xlsx2(a, paste0(main_path,"my_output_excel.xlsx"), sheetName="Sheet1", col.names=TRUE, row.names=FALSE, append=FALSE)

While read.xlsx2 function works fine, write.xlsx2 function gives the error

Error in .jnew("java/io/FileOutputStream", jFile) :
java.io.FileNotFoundException: /mydir/my_output_excel.xlsx (No such file or directory)

When I remove the paste0 part and write only the file name everything is fine again. So the problem is to define path.

p.s I am wondering, perhaps the write.xlsx ignores the tilde ~ so path definition becomes garbage.

Uncivil answered 13/5, 2014 at 14:27 Comment(2)
Try replacing main_path with path.expand("~/mydir/")Germicide
Very valuable hint @James, thanks!Anlace
U
9

Replacing "~/" with "Users//" works for Mac (probably for Linux as well). Though, it still eludes me how read.xlsx and write.xlsx could differ in such a fundamental way.

Uncivil answered 11/6, 2015 at 16:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.