Можете ли вы разобрать запрос RODBC через readr? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь улучшить свой сценарий аналитики для базы данных и хочу использовать прямой вывод запроса в моей базе данных Access вместо вывода в связанный файл Excel, где я обновлял его и затем сохранял в файле csv. Я могу получить таблицу в R, но я бы хотел, чтобы она анализировалась через readr. Есть ли способ сделать это?

Я сразу попытался вывести в CSV-файл, а затем использовать read_csv для повторного импорта, но при синтаксическом анализе возникли ошибки.

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

Как я сейчас импортирую свой запрос.

Я просто хотел бы проанализировать вывод этого запроса через функцию синтаксического анализа readr - все воспринимается как символы, удваивается, а класс возвращается как "[1]" spec_tbl_df "" tbl_df "" tbl "" data.frame "

1 Ответ

0 голосов
/ 14 июня 2019

Это должно уже дать вывод как data.frame.Может быть, вы можете попробовать df = sqlGetResults(db) после вашего sqlQuery.

В качестве альтернативы вы можете пойти на подход dbplyr.Ниже приведен пример.Этот подход действителен и для соединений RODBC. Введение в 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)
...