write.xlsx函数在使用文件名定义路径时会出错,但read.xlsx很好

时间:2014-05-13 14:27:26

标签: r rjava r-xlsx

我对write.xlsx2 R包的xlsx功能有疑问。例如,请参阅下面的代码。

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)

虽然read.xlsx2函数工作正常,write.xlsx2函数会给出错误

  

.jnew("java/io/FileOutputStream", jFile)中的错误:
  java.io.FileNotFoundException:/mydir/my_output_excel.xlsx(没有这样的   文件或目录)

当我删除paste0部分并只写文件名时,一切都很好。所以问题是定义路径。

p.s我想知道,也许write.xlsx会忽略波浪号~,因此路径定义会变成垃圾。

1 个答案:

答案 0 :(得分:6)

用“Users //”替换“〜/”适用于Mac(也可能适用于Linux)。但是,read.xlsxwrite.xlsx如何以这样一种根本的方式发挥作用仍然让我感到不快。