您可以通过 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)
我正在尝试改进我的数据库分析脚本,并希望在我的 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)