我正在尝试获取多个Access文件,其中所需的表每次都有不同的名称。
示例:
我尝试了以下函数,以后将在map函数中使用该函数从目录中提取所有Access文件:
fetch <- function (x) { y <- odbcConnectAccess2007(x) sqlFetch(y,"^base.$") odbcCloseAll() }
R似乎不喜欢sqlfetch
上的正则表达式,因为我收到以下消息:
odbcTableExists(channel,sqtable)中的错误:‘^ base。$’:在通道上找不到表
请注意,当我将“ base1”用作sqltable
而不是“ ^ base。$”时,此方法非常有效
能帮我吗?
答案 0 :(得分:0)
我找到了解决此问题的方法:
fetch <- function (x) {
y <- odbcConnectAccess2007(x)
find_table_name <-
str_extract(sqlTables(y)$TABLE_NAME, "^(base.*)$") %>%
na.omit
table_result <- sqlFetch(y, find_table_name[1])
return(table_result)
odbcCloseAll()
}