我想使用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
第二条消息让我觉得我没有权限来这里读/写数据,但我在这里创建文件夹/文件中的所有时间。我甚至使用过另一个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")
我在工作时使用电脑,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)
是的!我实际上不得不在全局选项中更改我的默认工作目录,因为我的默认值是网络上的一个目录。所以,我将我的默认wd更改为桌面上的某个位置,现在我可以使用完整路径从任何网络驱动器读取excel文件。谢谢您的帮助! – georgemirandajr