【发布时间】:2016-11-14 16:17:49
【问题描述】:
所以我使用下面的代码从 SQL Server 中的某个表中选择列。
sus_base = pd.read_sql_query("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE]", con)
df1 = pd.read_sql_query("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE] WHERE text like '%car%'", con)
df2= pd.read_sql_query("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE] WHERE text like '%plane%'", con)
df3= pd.read_sql_query("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE] WHERE text like '%quality%'", con)
但是,我必须对很多字符串进行这种匹配。我在 Python 中尝试了以下方法,但没有成功:
test = pd.read_sql_query(("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE] WHERE text like '%s%'", input()), con)
在询问我输入后,它给了我以下错误:
DatabaseError: Execution failed on sql '("SELECT screen_name, user_id, text FROM [dbo].[TABLE_ONE] WHERE text like '%s%'", "'car'")': bytes or integer address expected instead of tuple instance.
是的,我也试过在汽车周围不加''引号。
df1 看起来像:
JAN | 20938 | Hi I am looking for a car somewhere
BOB | 38470 | Guys, where is my plane?
ELSA| 49850 | Never know what to do next..
CARL| 08923 | The quality of this product is amazing!
ETC.
您可以想象,要创建它会做很多工作。因此,如果最终用户可以在文本字符串中键入他正在寻找的单词,并且它会像我在上面的示例中键入它们时那样返回这些文本,那就太好了。然后我会确保它进入数据框和/或 Excel 文件。
【问题讨论】:
标签: python sql-server pypyodbc