0

我用 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 数据库?

谢谢你的帮助

4

1 回答 1

1

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

conn.close()

指出不同?然后这一切都对我有用。

> dbListTables(foo)
[1] "foo"

尽管即使我没有关闭连接,即使我在提交后没有退出 python,这一切都对我有用。所以,嗯...

于 2013-07-24T16:03:08.317 回答