如何使用R读取使用python创建的数据库

时间:2013-07-24 14:32:11

标签: python database r sqlite

我用python包sqlite3创建了一个数据库。

import sqlite3
conn=sqlite3.connect('foo.sqlite')
c=conn.cursor()
c.execute('CREATE TABLE foo (bar1 int, bar2 int)')
conn.commit()
conn.close

然后出于统计目的,我尝试用R读取这个数据库(我使用R包RSQLite)

library('RSQLite')
drv=dbDriver('SQLite')
foo=dbConnect(drv,'foo.sqlite')

如果我想列出我刚用Python创建的表

dbListTables(foo)

R说数据库是空的:

character(0)

我做错了什么或者R无法读取Python数据库?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

尝试在python中关闭数据库连接,而不是仅仅实例化close方法:

conn.close()

发现差异?那一切都适合我。

> dbListTables(foo)
[1] "foo"

虽然即使我没有关闭连接,但即使我没有在提交后退出python,它对我也有用。所以,嗯......