我的桌面上有两个文件夹,它们包含相同的文件 . 看来,包含非英文字符的目录(路径)在我当前的Windows环境中不起作用 .
> setwd("C:/Users/my_user/Desktop/folder_name_including_only_english_characters")
> list.files()
[1] "test.csv" "test.jpg" "test.pdf" "Test.R" "test.sql" "test.xlsx"
> setwd("C:/Users/my_user/Desktop/folder_name_including_non_english_characters_like_ıüö")
> list.files()
character(0)
我不确定这是否与R或Windows 10的设置有关 .
我的其他电脑没有这个问题 .
UPDATE :
在我最近的尝试中,我注意到,虽然list.files()函数失败,但R仍然可以使用内置的read.csv2函数从包含非英文字符的目录中读取文件 . 但是,当我尝试读取xlsx文件时,例如:
openxlsx::read.xlsx(paste0("C:/Users/my_user/Desktop/folder_name_including_non_English_characters_like_ıüö","/test.xlsx"))
它给出了下面的错误 . (顺便说一下,openxlsx :: read.xlsx()函数从仅包含英文字符的目录中读取文件 .
Error in file(con, "r") : invalid 'description' argument
In addition: Warning message:
In unzip(xlsxFile, exdir = xmlDir) : error 1 in extracting from zip file
我怀疑函数list.files()的失败和使用openxlsx :: read.xlsx()函数的错误背后的原因可能是相同的 .
我的问题是:我应该更改哪些设置以使R成功识别包含非英文字符的目录?
1 回答
在敲了几个小时之后,当
list.files
失败时,Sys.glob(*.*)
是唯一可能的选择 .没有
setwd
的更新代码: