pandas 数据库错误:在sql上执行失败:无此表:联赛

afdcj2ne  于 2023-04-28  发布在  其他
关注(0)|答案(2)|浏览(159)

我正在尝试使用python连接到sqlite3数据库。错误是:

DatabaseError: Execution failed on sql 'SELECT * FROM League': 
no such table: League

Python代码:

import sqlite3
import os.path
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from sklearn.cluster import KMeans
from sklearn.preprocessing import scale

#BASE_DIR = os.path.dirname(os.path.abspath(pat))
#database = os.path.join(BASE_DIR, "database.sqlite")

#with sqlite3.connect(database) as conn:
#    
#    print("Connection Successful",conn)
#    df = pd.read_sql_query("SELECT * FROM Country", conn)

pat = r'C:\Users\pouru\Downloads\soccer'
database = pat + 'database.sqlite'
conn = sqlite3.connect(database)
print("Connection Successful",conn)
df = pd.read_sql_query('SELECT * FROM League', conn)

它说连接成功,但当我插入最后一条语句来获取表数据时,它产生了上述错误。我试图使用绝对路径的方式来解决它,就像我上面注解的代码一样,但它给出了相同的错误。
有谁能给予我一个解决这个问题的主意吗?我已经用所有的表试过了。它在SQL接口上工作得很好,但在Python中不行。

u0sqgete

u0sqgete1#

将pat = r'C:\Users\pouru\Downloads\soccer'更改为

pat = 'C:\Users\pouru\Downloads\soccer\'
gorkyyrv

gorkyyrv2#

我只是想知道如果你,埃里克,有正确的路径到数据库文件?
我在win11中测试python,并借用了你的字符串进行了一些修改。我得到了与你相同的错误。然后我打印了路径,发现它不正确。这对我很有效。
我还缩短了代码一点,因为对于我的目的,并不是所有的进口是不必要的。
...
将pandas导入为pd
导入sqlite3
conn = sqlite3.connect(r'C:\sqlite\Kannat\northwind.db')
df =pd.read_sql('SELECT CategoryID,CategoryName from categories',conn)
打印(df)
conn.close()...
错误消息似乎有点误导,因为它指的是表未找到,而事实上数据库文件未找到。

相关问题