我是新來的R,甚至更新的使用Excel。我想在.xls文件中獲得所有工作表名稱(註釋,權重,長度)的列表。您可以在下面看到我正在嘗試的內容 - 問題在於輸出由於某種原因而在最後有一個$美元符號,並且有時也被單引號包圍。如何使用RODBC獲取R中的Excel工作表選項卡名稱的「乾淨」列表?
FileToImport <- "C:\\folder\\filetoimport.xls"
z <- odbcConnectExcel(FileToImport, readOnly = TRUE)
sqlTables(z)
TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
1 C:\\folder\\filetoimport.xls <NA> Notes$ SYSTEM TABLE <NA>
2 C:\\folder\\filetoimport.xls <NA> 'Weights$' TABLE <NA>
3 C:\\folder\\filetoimport.xls <NA> 'Lengths$' TABLE <NA>
SQLTABLES(Z),「TABLE_NAME」]
[1] "Notes$" "'Weights$'" "'Lengths$'"
我可以嘗試了清潔這些字符,但我真的不知道如何去這一點,因爲引號格式不一致 - 一些工作簿是「系統表」,有些只是「表」。有人可以解釋這些工作表之間的區別是什麼嗎?並且讓我知道如何重新創建「乾淨」的tabnames?
我幾乎沒有使用Excel/RODBC的經驗,但是工作簿與工作表完全相同嗎?爲了清除名字,你可以嘗試正則表達式。 – 2012-01-17 12:32:39
對不起,我只是在整個過程中討論工作表。我想到了正則表達式,但我無法寫出它們!任何人都可以給我一個提示如何從名稱中刪除單引號和美元符號嗎? – SWilliams 2012-01-17 13:34:42
我制定瞭如何執行reg exp來獲得所需的輸出,謝謝。 gsub(「[[:punct:]]」,「」,sqlTables(z)[,「TABLE_NAME」])「Sheet1」「Sheet2」「Sheet3」 – SWilliams 2012-01-17 14:28:55