【发布时间】: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