You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas从SQLite表创建DataFrame时为何抛出NotImplementedError?

解决Pandas读取SQLite表时的NotImplementedError异常

问题出在pd.read_sql_table()的使用限制上——这个方法只支持SQLAlchemy提供的连接对象,并不兼容sqlite3原生的连接实例,所以你用sqlite3直接创建的connection会触发这个异常。

给你两种可行的解决办法:

方法一:改用pd.read_sql_query()

直接编写查询语句,配合sqlite3原生连接使用,这是最直接的修改方式:

import pandas as pd
import sqlite3 as sq

with sq.connect("master.db") as con:
    table = "personal"
    # 直接执行SELECT查询获取整张表数据
    df = pd.read_sql_query(f"SELECT * FROM {table}", con)

如果你的表名包含特殊字符(比如空格、关键字),建议用参数化方式避免语法问题:

df = pd.read_sql_query("SELECT * FROM ?", con, params=(table,))

方法二:使用SQLAlchemy连接

如果坚持想用read_sql_table(),可以通过SQLAlchemy创建连接引擎,Pandas对这种连接支持良好:

import pandas as pd
from sqlalchemy import create_engine

# 创建SQLite引擎,路径和sqlite3一致
engine = create_engine("sqlite:///master.db")

# 方式1:用上下文管理器管理连接
with engine.connect() as con:
    df = pd.read_sql_table("personal", con)

# 方式2:直接传入引擎(Pandas会自动处理连接)
df = pd.read_sql_table("personal", engine)

两种方法都能正常读取SQLite表数据,根据自己的习惯选择即可。

内容的提问来源于stack exchange,提问作者Anton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:14:50