2016-09-14 4 views
1

私はreadxl :: read_excelを使用して表形式のデータをExcelのスプレッドシート(​​.xlsxと.xls)からRにインポートしようとしています。デスクトップからのスプレッドシートが表示されますが、今度はドキュメントフォルダからの読み込みに問題があります。readxlを使用したときのエラー: 'exdir'が存在しません

同じファイルの.xlsxと.xls形式の両方を読み込もうとしましたが、2つの異なるエラーメッセージが表示されました。

# Check the working directory 
[1] "\\\\isdowfsv04/D100Home/e525902" 

# Read .xlsx 
specs <- read_excel("Class Specs Sept 2016.xlsx") 

Error: 'exdir' does not exist 

# Read .xls 
specs <- read_excel("Class Specs Sept 2016.xls") 

Error: path[1]="\\isdowfsv04/D100Home/e525902/Class Specs Sept 2016.xls": Access is denied 

2番目のメッセージは、ここでデータを読み書きする権限がないと思っていましたが、ここでは常にフォルダ/ファイルを作成しています。私は同じディレクトリから.csvファイルをインポートするために、別のRライブラリ、readrパッケージを使用しました。

# Using readr to import .csv version of the file works fine. 
specs <- read_csv("\\\\isdowfsv04/D100Home/e525902/Class Specs Sept 2016.csv") 

私が見た他の投稿に基づいて、許可の問題のようですが、それをどう修正するかはわかりません。

Sys.setenv()を使用して、データを読み込むときにreadxlがこれらのパスを使用していると思ったため、一時的なフォルダの場所をどこかに変更しようとしました。しかし、私はまったく同じエラーメッセージを受け取ったので、これはうまくいきませんでした。

Sys.getenv(c("TEMP", "TMP")) 
             TEMP          TMP 
"C:\\Users\\e525902\\AppData\\Local\\Temp"  "C:\\Users\\e525902\\AppData\\Local\\Temp" 

# Change temp file paths to the Desktop 
Sys.setenv(TEMP = "C:\\Users\\e525902\\Desktop") 
Sys.setenv(TMP = "C:\\Users\\e525902\\Desktop") 

私は職場でPCを使用していますが、ドキュメントフォルダは実際にはネットワークドライブです。 read_excelを使用して他のネットワークフォルダから.xlsxファイルをインポートしましたが、これは私に問題をもたらしています。以下は私が使用しているシステムの詳細です。

Sys.info() 
sysname      release      version 
       "Windows"      "7 x64" "build 7601, Service Pack 1" 
       nodename      machine      login 
      "10004053WDT"      "x86-64"     "e525902" 
        user    effective_user 
       "e525902"     "e525902" 

search() 
[1] ".GlobalEnv"  "package:readr"  "package:readxl" "tools:rstudio"  "package:stats"  
[6] "package:graphics" "package:grDevices" "package:utils"  "package:datasets" "package:methods" 
[11] "Autoloads"   "package:base" 

# R version 
version$version.string 
version.string R version 3.2.5 (2016-04-14) 

答えて

0

同じ問題が発生しました。私が自分の作業ディレクトリをExcelファイルのベース位置に設定した後、相対パスを使ってディレクトリにアクセスすると、読み込みに成功しました。

Rをリブートして、作業ディレクトリをデフォルトとして保存してから、read_excel関数でファイルパス全体を使用すると、exdirエラーが消えてしまいました。

これがうまくいくかどうか教えてください。私は、Windows 7の64ビットシステムでネットワークドライブに接続していました。

+0

はい!デフォルトではネットワーク上のディレクトリなので、実際にグローバルオプションのデフォルト作業ディレクトリを変更する必要がありました。だから、私は自分のデスクトップ上のどこかにデフォルトのwdを変更しました。今ではフルパスを使って任意のネットワークドライブからファイルを読むことができます。助けてくれてありがとう! – georgemirandajr

関連する問題