您可以通过 readr 解析 RODBC 查询吗?

Can you parse a RODBC query through readr?

我正在尝试改进我的数据库分析脚本,并希望在我的 Access 数据库中使用查询的直接输出,而不是输出到我刷新它然后保存到的链接 excel 文件一个 csv 文件。我可以将 table 放入 R,但我希望它通过 readr 解析。有办法吗?

我尝试直接输出到 csv,然后使用 read_csv 重新导入,但它在解析时出现错误。

dbdata <- sqlQuery(db , "SELECT * 
                              FROM qRoutput", stringsAsFactors = FALSE)

这是我目前导入查询的方式。

我只想通过 readr 解析函数解析该查询输出 - 所有内容都被视为字符,双打和 class 返回为“[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"

这应该已经给出了 data.frame 的输出。 也许您可以在 sqlQuery 之后尝试 df = sqlGetResults(db)

或者,您可以使用 dbplyr 方法。下面是一个例子。这种方法也适用于 RODBC 连接。 Intro to dbplyr

library(RSQLite)

# Create a db
db = dbConnect(SQLite(), "./Data/TestDB.db")

# write data to the db
dbWriteTable(db, "testtable", mtcars)

# Check whether the table is present
dbListTables(db)

# use the dplyr syntax to query
tbl(db, "testtable") %>% select(mpg, cyl)