2014-05-13 14 views
10

Ho un problema con la funzione write.xlsx2 del pacchetto xlsx R. Per esempio, vedi il codice qui sotto.write.xlsx restituisce un errore quando si definisce il percorso con il nome del file, ma read.xlsx va bene

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) 

Mentre read.xlsx2 funzione funziona bene, write.xlsx2 funzione fornisce l'errore

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

Quando rimuovo la parte paste0 e scrivo solo il nome del file sta bene ancora. Quindi il problema è definire il percorso.

p.s Mi chiedo, forse il write.xlsx ignora la tilde ~ così la definizione del percorso diventa inutile.

+3

Prova a sostituire main_path con 'path.expand (" ~/mydir/")' – James

+0

Wow! Non ero a conoscenza di questo comando. Funziona anche. Grazie a James. – berkorbay

+0

Suggerimento molto valido @James, grazie! – thiagoveloso

risposta

4

Sostituire "~ /" con "Users //" funziona per Mac (probabilmente anche per Linux). Tuttavia, mi sfugge ancora il modo in cui read.xlsx e write.xlsx potrebbero differire in modo così fondamentale.

Problemi correlati