Google Colab中SQLite文件存在但查询Reviews表报错的问题
解决SQLite连接时"no such table: Reviews"的问题
你遇到的问题根源很明确——数据库文件的路径写错了!
你已经确认database.sqlite在drive/AI目录下,但连接数据库时用的是sqlite3.connect('database.sqlite'),这会让程序在Colab的当前工作目录(默认是/content)里找这个文件,而不是你Drive里的AI子目录。结果就是程序创建了一个空的新数据库文件,自然不存在Reviews表。
修复步骤:
确保Drive已挂载(如果还没做的话)
先运行这段代码挂载你的Google Drive:from google.colab import drive drive.mount('/content/drive')按照提示完成授权,确保Drive正常挂载。
修正数据库连接路径
把连接代码里的路径改成Drive中数据库的实际位置,两种写法都可以:- 相对路径(基于默认工作目录
/content):con = sqlite3.connect('drive/AI/database.sqlite') - 绝对路径(更稳妥,避免工作目录变化的影响):
con = sqlite3.connect('/content/drive/AI/database.sqlite')
- 相对路径(基于默认工作目录
验证修复后的完整代码
把所有代码整合起来,应该是这样:import sqlite3 import pandas as pd # 挂载Drive(如果未挂载) from google.colab import drive drive.mount('/content/drive') # 连接正确路径的数据库 con = sqlite3.connect('drive/AI/database.sqlite') # 查询数据 filtered_data = pd.read_sql_query("SELECT * FROM Reviews WHERE Score !=3", con)
额外验证小技巧
如果还是不确定,可以先查询数据库里的所有表,确认Reviews存在:
cursor = con.cursor() cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") print("数据库中的表:", cursor.fetchall())
运行后如果输出里包含('Reviews',),说明路径没问题,接下来的查询就能正常执行了。
内容的提问来源于stack exchange,提问作者Vishal Pandey
相关产品推荐
相关产品推荐

