我用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数据库?
感谢您的帮助
答案 0 :(得分:1)
尝试在python中关闭数据库连接,而不是仅仅实例化close方法:
conn.close()
发现差异?那一切都适合我。
> dbListTables(foo)
[1] "foo"
虽然即使我没有关闭连接,但即使我没有在提交后退出python,它对我也有用。所以,嗯......