Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将R数据帧导出到MS Access_R - Fatal编程技术网

将R数据帧导出到MS Access

将R数据帧导出到MS Access,r,R,我正在尝试将数据帧从R导出到MS Access,但在我看来,没有包可用于执行此任务。有没有办法直接将数据帧导出到Access?任何帮助都将不胜感激。这是软件包 数据库必须已经存在(至少在我的情况下)。所以你必须先创建它。 它必须是access database 2000版本,扩展名为.mdb 以下是一个例子: ImportExport::access_export("existing_databse.mdb",as.data.frame(your_R_data),

我正在尝试将数据帧从R导出到MS Access,但在我看来,没有包可用于执行此任务。有没有办法直接将数据帧导出到Access?任何帮助都将不胜感激。

这是软件包

数据库必须已经存在(至少在我的情况下)。所以你必须先创建它。 它必须是access database 2000版本,扩展名为.mdb

以下是一个例子:

ImportExport::access_export("existing_databse.mdb",as.data.frame(your_R_data),
                            tablename="bob")
“bob”是要在数据库中创建的表的名称。当然,选择您自己的名称,它必须是一个不存在的表

它还将添加名为rownames的第一列,它只是一个索引列

请注意,创建一个.accdb文件,然后将扩展名更改为.mdb将不起作用^^^您必须打开它并将其另存为.mdb。我添加了.data.frame(),但是如果您的数据已经是一个,那么就不需要了


有一种方法可以使用.accdb文件,直接使用sqlSave(由ImportExport内部使用)并从RODBC包中指定驱动程序。这是@BenJacobson评论中的链接。但是上面的解决方案对我有效,而且只有一行。

下面的解决方案适用于中型数据集,但如果MyRdataFrame对于2GB访问限制或转换类型错误来说太大,则可能会失败

 library(RODBC)

 db <- "C:Documents/PreviouslySavedBlank.accdb"

 Mycon <- odbcConnectAccess2007(db)

 sqlSave(Mycon, MyRdataFrame)
库(RODBC)

dB你的问题看起来不像直接与编程有关,所以请考虑使用另一个站点,因为这个可能的副本对我来说不起作用,因为1)我的文件路径太长,所以我必须先创建一个DB连接,2)SqLaveID给出了一个错误,参数1必须有名字。