gpt4 book ai didi

python - pandas.io sql.execute() 带 IN 运算符的变量 unicode-query-param

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:09 24 4
gpt4 key购买 nike

from pandas.io import sql

print sql.execute('SELECT * FROM testTable WHERE testColumn IN ("테스트1", "테스트2")', engine).fetchall()

当我尝试上面的测试代码时,它就像一个魅力。

但是由于查询应该动态工作,不知何故我确实考虑了下面的代码(但不起作用)。

我认为这个问题与unicode的转义字符有关,但我不知道如何解决这个问题,尽管在stackoverflow中搜索并尝试了很多案例。

testss = [u"테스트1", u"테스트2"]
print sql.execute('SELECT * FROM testTable WHERE testColumn IN {}'.format(tuple(tests)), engine).fetchall()

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "'\uc774\ud130\ub110 \uc120\uc0e4\uc778'": syntax error [SQL: "SELECT * FROM boxOffice WHERE movieNm IN (u'\\ud14c\\uc2a4\\ud2b81', u'\\ud14c\\uc2a4\\ud2b82')"]

如果可能,请告诉我它如何适用于 read_sql_query,或与 sqlalchemy.text() 相关的 read_sql。

非常欢迎任何建议!感谢您的帮助。

比照。 http://pandas.pydata.org/pandas-docs/stable/io.html#sql-queries

最佳答案

print sql.execute('SELECT * FROM testTable WHERE testColumn IN ("{}")'.format(u'", "'.join(tests).encode('utf-8')), engine).fetchall()
print pd.read_sql_query('SELECT * FROM testTable WHERE testColumn IN ("{}")'.format(u'", "'.join(tests).encode('utf-8')), engine)

有人发布了非常接近正确答案的帖子,但很快就被删除了。无论如何,我调整了该代码,上面的代码都工作得很好。

关于python - pandas.io sql.execute() 带 IN 运算符的变量 unicode-query-param,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com