【问题标题】:How to fix SyntaxError when reading sqlite3 database into a pandas DataFrame将 sqlite3 数据库读入 pandas DataFrame 时如何修复 SyntaxError
【发布时间】:2020-01-11 15:09:25
【问题描述】:

我正在尝试使用 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 "

【问题讨论】:

  • 你能检查一下你使用的是什么版本的熊猫,还有 sqlalchemy 吗?
  • 可以通过文件夹结构访问 sqlite 数据库吗?如果你连接到内存并尝试写入它会发生什么。它仍然给你一个错误吗? con = sqlite3.connect(':memory:')。通过检查是否是内存问题,它可以帮助我们缩小错误的来源
  • 我没想到。我将 pandas 从 0.25.0 更新到 0.25.1,将 sqlalchemy 从 0.7.10 更新到 1.3.8。现在一切正常。非常感谢

标签: python pandas sqlite sqlalchemy


【解决方案1】:

sqlalchemy 包看起来已经有 6 年的历史了 (sqlalchemy\sql\expression.py.py", line 2452),在进行重要的重构之前。

您应该删除此软件包并使用更新的版本重新安装或尝试更新:

pip install SQLAlchemy --upgrade

【讨论】:

  • 如你所说。升级解决了我的问题。非常感谢。
  • 不错!不客气。我在推送答案的同时看到了它
猜你喜欢
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 2016-02-22
  • 2021-11-24
  • 2021-01-16
  • 2018-03-05
  • 2017-07-17
相关资源
最近更新 更多