readxl::read_excel を使用して、表形式のデータを Excel スプレッドシート (.xlsx および .xls) から R にインポートしようとしています。今。
同じファイルの .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() を使用して、一時フォルダーの場所を書き込み権限があることがわかっている場所 (デスクトップなど) に変更しようとしました。しかし、まったく同じエラーメッセージが表示されたため、うまくいきませんでした。
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 を使用していますが、Documents フォルダーは実際にはネットワーク ドライブです。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)