我想將一些「.xls」加載到R.該文件夾包含8個.XLS文件和8個.csv文件,我通過手動打開.xls文件並保存爲.csv。我意識到我可以使用gdata
包中的read.xls()
直接加載.xls文件,這對於以.xls格式接收數據很有幫助。但是,當我在3個最新的.xls文件中使用list.files()
時,它們被錯過了列表。然而,它們的相關.csv包含在內。如果我打開文件並將它們轉換爲.xls,然後再次運行list.files()
,它們將顯示出來,如果我在資源管理器中重命名它們,當我再次運行list.files
時它們不會顯示。 Excel文件可能來自不同地區的Excel版本,因爲它們來自不同國家的辦公室,但我不認爲這會產生效果。list.files()找不到文件夾中的所有文件
這些文件通過電子郵件發送給我,因此我創建了一個新文件夾並將文件從Outlook保存到新文件夾,結果當我運行list.files()
時也是如此,當我轉換它們時。
list.files(getwd())
回報
character(0)
這沒有什麼區別,如果我使用list.files(getwd())
或指定的文件擴展名。
我想知道我錯過了什麼,所以我可以避免必須單獨打開每個文件或在運行我的腳本時冒險丟失文件。
這個問題的道歉不可重現。
編輯
在Jbaum的建議,下面的代碼已運行和結果返回
shell(sprintf('dir /b %s', normalizePath(getwd())), intern=TRUE)
[1] "'\\\\\\ **File path**'"
[2] "CMD.EXE was started with the above path as the current directory."
[3] "UNC paths are not supported. Defaulting to Windows directory."
[4] "The system cannot find the file specified."
attr(,"status")
[1] 1
Warning message:
running command 'C:\WINDOWS\system32\cmd.exe /c dir /b \\\\ **File path**' had status 1
注:我更換了**文件路徑**文件路徑,並有將反斜槓的數量增加一倍,使其顯示爲R
你是否正確? 'getwd'是否會返回預期的路徑? – Roland 2014-09-10 12:16:39
是的,getwd返回預期的路徑。重要的是要記住files.list返回**一些**但不是所有文件,並且當文件被轉換時它們會被列出,如果路徑不正確,則不會發生這種情況。 – 2014-09-10 12:22:54
'list.files(all.files = TRUE)'的結果是什麼? – jbaums 2014-09-10 12:39:58