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

yqlxgs2m  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(133)

我有一个大型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
我可能会有更多的问题,我试图循环的阴谋,但一旦我解决了这第一步,我会尝试它对我自己。

xzv2uavs

xzv2uavs1#

您可以将导入的表收集到一个列表中(然后继续):

## 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

相关问题