当我使用熊猫时,我可以连接到
import sqlalchemy as db
db.create_engine('sqlite:///C:\db\PositionTrackDB.db')现在,我正试图用modin.pandas代替熊猫,并使用数据库。但是,无论我如何尝试,我总是会得到一个不受支持的数据库的错误:
import modin.pandas as pd
from modin.db_conn import ModinDatabaseConnection
conn = ModinDatabaseConnection('sqlite:///test.db')错误:
modin.db_conn.UnsupportedDatabaseException: Unsupported database library sqlite:///test.db官方文档对此错误没有多大帮助:https://modin.readthedocs.io/en/0.12.0/using_modin.html
任何帮助都非常感谢!
编辑:
这解决了这个问题,但由于连接已正确建立,因此它抱怨找不到表:
import modin.pandas as pd
from modin.db_conn import ModinDatabaseConnection
conn = ModinDatabaseConnection('sqlalchemy', 'sqlite:///test.db')
# Can use get_connection to get underlying sqlalchemy engine
conn.get_connection()错误:
[SQL: SELECT COUNT(*) FROM (['TEST']) AS _] (Background on this error at: sqlalche.me/e/14/e3q8)我运行inspector.get_table_names(),它清楚地告诉我
['TEST']..not确定正确的语法是什么?
发布于 2022-08-17 13:23:58
谢谢你问这个问题!
首先,你可以继续尝试使用pd.read_sql,就像你在熊猫上一样,而且事情还是应该像预期的那样运作。其次,我认为您使用ModinDatabaseConnection不正确(这在一定程度上是我们的错,因为错误消息有点模糊)。构造函数实际上期望您传入要使用的底层SQL库,然后接受要传入的参数来创建该引擎。你能试试这样的东西吗?
import modin.pandas as pd
from modin.db_conn import ModinDatabaseConnection
conn = ModinDatabaseConnection('sqlalchemy', 'sqlite:///test.db')
# Can use get_connection to get underlying sqlalchemy engine
conn.get_connection()这应该能够创建一个工作的conn对象,您可以将其传递到read_sql中。您面临的最初问题是将整个db连接作为lib参数传递。
https://stackoverflow.com/questions/73382534
复制相似问题