我在我的主目录中有一个sqlite数据库。
stephen@stephen-AO725:~$ pwd
/home/stephen
stephen@stephen-AO725:~$ sqlite db1
SQLite version 2.8.17
Enter ".help" for instructions
sqlite> select * from test
...> ;
3|4
5|6
sqlite> .quit
当我尝试使用SQLAlchemy和Pandas从Jupyter笔记本连接时,有些东西无法正常工作。
db=sqla.create_engine('sqlite:////home/stephen/db1')
pd.read_sql('select * from db1.test',db)
~/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/default.py中的do_execute函数在执行SQL语句时发生了错误:
DatabaseError: (sqlite3.DatabaseError) file is not a database [SQL: select * from db1.test] (更多信息请参考该错误的背景网页:http://sqlalche.me/e/4xp6)
我还尝试过:
db=sqla.create_engine('sqlite:///~/db1')
相同的结果
sqlite://
,后跟不存在的主机,然后是分隔符/
,最后是路径:https://docs.sqlalchemy.org/en/13/dialects/sqlite.html#connect-strings - Ilja EveriläSQLite version 2.8.17
引起了注意。我认为 Python 驱动程序是针对 SQLite 3.x 的,因此可能无法打开您的数据库文件。 - Ilja Everilä