Python 如何修复将sqlite3数据库读入数据帧时的语法错误

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() 结

我正在尝试使用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()
结果:

" 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,我在推答案的同时看到了