2013-07-24 28 views
0

我已經使用python包sqlite3創建了一個數據庫。如何閱讀使用python創建的數據庫R

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

然後用於統計目的,我嘗試,如果我想列出我剛剛與Python

創建的表來讀取這個數據庫與R(我使用R包RSQLite)

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

dbListTables(foo) 

[R說,數據庫是空的:

character(0) 

我做錯了什麼或者R無法讀取Python數據庫?

感謝您的幫助

+1

foo.sqlite的路徑是否正確? –

+0

是的,我確定它是。 –

+1

我不相信你實際上是在運行那個R代碼。 'dbDriver('RSQLite')'會返回一個錯誤。你的意思是'dbDriver('SQLite')'。然後'dbConnect'也需要傳遞給驅動程序對象,所以即使這樣也會引發錯誤。 – joran

回答

1

嘗試關閉在Python數據庫連接,而不僅僅是實例關閉方法:

conn.close() 

現貨的區別?那麼這一切都適合我。

> dbListTables(foo) 
[1] "foo" 

儘管這一切對我的作品,即使我不關閉連接,甚至如果我不退出後提交蟒蛇。所以,嗯...

+0

好吧,它工作正常,非常感謝你! –