我想使用
polars
包读取 SQLite 数据库文件 (database.sqlite)。我尝试以下失败:
import sqlite3
import polars as pl
conn = sqlite3.connect('database.sqlite')
df = pl.read_sql("SELECT * from table_name", conn)
print(df)
出现以下错误:
AttributeError: 'sqlite3.Connection' object has no attribute 'split'
有什么建议吗?
从docs,您可以看到 pl.read_sql 接受连接字符串作为参数,并且您正在发送对象 sqlite3.Connection,这就是您收到该消息的原因。
您应该首先生成连接字符串,这是您的数据库的 url
db_path = 'database.sqlite'
connection_string = 'sqlite://' + db_path
之后,您可以输入更新的下一行,这给您带来了问题:
df = pl.read_sql("SELECT * from table_name", connection_string)
你可以通过“pl.read_database”而不是“pl.read_sql”来做到这一点。
我可以通过这种方式使用极坐标读取sqlite3 db。 来自极地网站: https://docs.pola.rs/py-polars/html/reference/api/polars.read_database.html#polars.read_database 蟒蛇代码---- 导入sqlite3 将极坐标导入为 pl dbname = "test.db" # sqlite3 数据库文件路径 conn = sqlite3.connect(数据库名称) df = pl.read_database( 查询=“SELECT * FROM test_table”, 连接=user_conn, schema_overrides={"normalized_score": pl.UInt8}, )
我可以获得 sqlite3 db.table。