无法从 "Python in Excel" 读取SQLite表
我想在Excel中显示一个本地SQLite表的内容。出于各种原因,我想在Excel中使用“Python in Excel”。这是我在单元格A1中使用PY() 公式编写的代码:
import pandas as pd
import sqlite3
my_db = f'C:\\Users\\benpr\\mu_code\\nbssh.db'
conn = sqlite3.connect(my_db)
my_query = f'select * from results'
df = pd.read_sql_query(my_query, conn)
但在尝试验证时,我得到了以下错误:
Error: Python
DatabaseError: Execution failed on sql 'select * from results': no such table: results
表确实存在,如果我在一个Python脚本中运行完全相同的代码,它就能查询并显示DataFrame,没有任何问题。据我所知,在使用Excel中的Python时不需要额外的步骤,所以我现在很困惑,不知道自己哪里做错了?
解决方案
问题不在于SQL,问题在于代码在哪儿运行。
你在Excel中使用 =PY(),因此Python代码在一个“云端”环境中运行,而不是在你的本地计算机上运行。所以,你的代码并不是在你以为的地方运行。
路径 "C:\Users\benpr\mu_code\nbssh.db" 在你的代码运行的环境中不存在。
SQLite如果数据库不存在不会报错。相反,它会创建一个新数据库。这就是为什么在每次处理循环中你会看到 "no such table: results" 的原因。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。