Python 如何修复将sqlite3数据库读入数据帧时的语法错误
我正在尝试使用pandas读取sqlite3数据库。不幸的是,在我的代码中是SyntaxError,但我找不到它 代码与许多教程中的代码相同,因此我不知道问题出在哪里Python 如何修复将sqlite3数据库读入数据帧时的语法错误,python,pandas,sqlite,sqlalchemy,Python,Pandas,Sqlite,Sqlalchemy,我正在尝试使用pandas读取sqlite3数据库。不幸的是,在我的代码中是SyntaxError,但我找不到它 代码与许多教程中的代码相同,因此我不知道问题出在哪里 import pandas as pd import sqlite3 con = sqlite3.connect("activity_log.db") query = "SELECT * from log" df = pd.read_sql_query(query, con) print(df) con.close() 结
import pandas as pd
import sqlite3
con = sqlite3.connect("activity_log.db")
query = "SELECT * from log"
df = pd.read_sql_query(query, con)
print(df)
con.close()
结果:
" Traceback (most recent call last):
File "C:/Users/g50-45/Desktop/ML/1z10_webapp/data_analyser.py", line 7, in <module>
df = pd.read_sql_query(query, con)
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py", line 325, in read_sql_query
pandas_sql = pandasSQL_builder(con)
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py", line 575, in pandasSQL_builder
if _is_sqlalchemy_connectable(con):
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py", line 44, in _is_sqlalchemy_connectable
import sqlalchemy
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\__init__.py", line 12, in <module>
from sqlalchemy.sql import (
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\sql\__init__.py", line 7, in <module>
from sqlalchemy.sql.expression import (
File "C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\sql\expression.py", line 2452
^
SyntaxError: invalid syntax "
“回溯(最近一次呼叫最后一次):
文件“C:/Users/g50-45/Desktop/ML/1z10_webapp/data_analyzer.py”,第7行,在
df=pd.read\u sql\u查询(查询,con)
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\pandas\io\sql.py”,第325行,在read\u sql\u查询中
pandasSQL=pandasSQL\u生成器(con)
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\pandas\io\sql.py”,第575行,在pandasSQL\u builder中
如果是可连接的(con):
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\pandas\io\sql.py”,第44行,在sqlalchemy中是可连接的
进口炼金术
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\sqlalchemy\\uuuuu init\uuuuu.py”,第12行,在
从sqlalchemy.sql导入(
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\sqlalchemy\sql\\初始化\ uuuuuuuuuuuu.py”,第7行,在
从sqlalchemy.sql.expression导入(
文件“C:\Users\g50-45\AppData\Local\Programs\Python\Python37-32\lib\site packages\sqlalchemy\sql\expression.py”,第2452行
^
SyntaxError:无效语法“
在一次重要的重构之前,sqlalchemy包看起来有6年的历史了(sqlalchemy\sql\expression.py.py),第2452行
您应该删除此软件包并使用较新版本重新安装,或者尝试使用以下软件包进行更新:
pip install SQLAlchemy --upgrade
您可以检查您正在使用的pandas的版本以及sqlalchemy吗?sqlite数据库是否可以通过文件夹结构访问?如果您连接到内存并尝试对其进行写入,会发生什么情况。它是否仍然会给您一个错误?con=sqlite3.connect(“:内存:”)
。通过检查它是否是内存问题,它可以帮助我们缩小错误的来源。我没有考虑它。我将pandas从0.25.0更新为0.25.1,将sqlalchemy从0.7.10更新为1.3.8。现在一切正常。非常感谢你所说的。升级是我问题的解决方案。非常感谢。很好!你很好ome,我在推答案的同时看到了