使用pandas打开sqlite表时出错

时间:2015-10-12 14:15:31

标签: python pandas

   RUN    YR  AP15  PMTE     RSPC  NPPC      NEE     SSF      PRK  QDRN 
0    1  2008  4.53  0.04   641.21  16.8   624.41  328.66  2114.51     0 
1    1  2009  3.17  0.03  1428.30   0.0  1428.30   23.58     3.20     0 
2    1  2010  6.20  0.03  1124.97   0.0  1124.97   23.94    18.45     0 
3    1  2011  5.38  0.02   857.76   0.0   857.76   28.40    42.54     0 
4    1  2012  7.32  0.02   831.42   0.0   831.42   23.92    25.58     0 

我将上述数据帧存储在sqlite数据库中,如下所示:

from sqlalchemy import create_engine
db_name = 'sqlite:///C:\\tmp.db'
engine  = create_engine(db_name)
df.to_sql(db_name, engine, if_exists='append')

但是,当我尝试回读时出现错误:

df = pandas.read_sql_table(db_name, 'sqlite:///C:\\tmp.db')

ValueError: Table sqlite:///C:tmp.db not found

创建了tmp.db,因为我可以在SQLite studio中看到它。我做错了什么?

1 个答案:

答案 0 :(得分:2)

仅在最近发布的0.17.0中添加指定字符串URL而不是引擎对象。所以你需要先构造引擎对象:

engine = sqlalchemy.create_engine('sqlite:///C:\\tmp.db')
df = pandas.read_sql_table(db_name, engine)