我正在尝试从SQL database
和CONTAINS
和LIKE
提取关键字。
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite://', echo=False)
df = pd.read_csv('data.csv')
sql = df.to_sql('table1', con=engine,index=True)
q1 = engine.execute('SELECT * FROM table1 WHERE features LIKE "Swimming" ').fetchall()
q2 = engine.execute('SELECT * FROM table1 WHERE CONTAINS(features, "Swimming") ').fetchall()
我已经尝试了两种方法,但是我没有得到答案。而且我得到此错误 OperationalError:(sqlite3.OperationalError)没有这样的功能:CONTAINS [SQL:'SELECT * FROM table1 WHERE CONTAINS(features,“ Swimming”)'](此错误的背景位于:{{3} })
答案 0 :(得分:2)
您需要在SQL语句周围使用双引号,并在其中使用单引号。
q1 = engine.execute("SELECT * FROM table1 WHERE features LIKE '%Swimming%' ").fetchall()
您可能希望将“游泳”更改为“%游泳%”,以便它可以与其中包含游泳的任何值匹配。