r语言 - 从.accdb数据库中导入和重命名多个表



我有一个大型Access数据库(ms Access 2016),我试图通过R(2021.09.0, 32位)分析

我已经设法访问数据库并获得单个数据集的所需输出,但是现在我想设置一个循环来绘制171个数据集中的每一个。数据集有不同数量的行和列。

##View available databases##
odbcDataSources()
##Connect to database##
ch<-odbcConnect("mydsn1")
##View Availavble tables##
sqlTables(ch)
##Data transferred to R##
tbls <- sqlTables(ch)
##remove unwanted tables##
tbls <- tbls[-c(1:79),]
##import data from a single table##
TABLE1<-sqlFetch(ch, 'TABLE_NAME')
str(TABLE1)
##Import data from all data sets##
...

我无论如何也想不出如何在不手动导入所有数据集的情况下导入所有数据集。理想情况下,我可以将每个表导入视图,并保留它们的Table_name

我可能会有更多的问题,我尝试循环绘图,但一旦我解决了这第一步,我将尝试自己。

您可以将导入的表收集到一个列表中(并从那里继续):

## tbls being your vector of table *names*:
all_tables <- tbls |>
lapply((table_name){
sqlFetch(ch, table_name)
})
## name your table list for convenient extraction of single dataframes:
names(all_tables) <- tbls

最新更新