使用readxl时出错:'exdir'不存在
Error when using readxl: 'exdir' does not exist
我正在尝试使用 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
第二条消息让我觉得我没有权限访问这里的 read/write 数据,但我一直在这里创建 folders/files。我什至使用了另一个 R 库 readr 包,从同一目录导入 .csv 文件。
# 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,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)
我运行遇到了同样的问题。当我将我的工作目录设置为 excel 文件的基本位置,然后在读取 excel 中,使用相对路径到达该目录时,我遇到了这种情况。
一旦我重新启动 R,而是将我的工作目录保留为默认目录,然后在 read_excel 函数中使用完整的文件路径,我的 exdir 错误就消失了。
让我知道这是否适合您。我也在网络驱动器上使用 windows 7 64 位系统。
当前工作目录由 RStudio IDE 显示在控制台窗格的标题区域中。您还可以通过 运行 命令 getwd()
在控制台中检查您当前的工作目录。
我正在尝试使用 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
第二条消息让我觉得我没有权限访问这里的 read/write 数据,但我一直在这里创建 folders/files。我什至使用了另一个 R 库 readr 包,从同一目录导入 .csv 文件。
# 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,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)
我运行遇到了同样的问题。当我将我的工作目录设置为 excel 文件的基本位置,然后在读取 excel 中,使用相对路径到达该目录时,我遇到了这种情况。
一旦我重新启动 R,而是将我的工作目录保留为默认目录,然后在 read_excel 函数中使用完整的文件路径,我的 exdir 错误就消失了。
让我知道这是否适合您。我也在网络驱动器上使用 windows 7 64 位系统。
当前工作目录由 RStudio IDE 显示在控制台窗格的标题区域中。您还可以通过 运行 命令 getwd()
在控制台中检查您当前的工作目录。