![](/img/trans.png)
[英]Failing while passing dataframe column seperated by comma into a API
[英]Comma Seperated list formed from a dataframe breaks while passing into SQL
当我的 dataframe 中没有任何值时,我的查询会中断。
我有 dataframe data1['invoice_number']
我将另一个 sql 作为逗号分隔列表传递。
下面的代码在我们有值时完美运行,但在我没有任何值时会中断。
sql1 = '''selectcarrier_account, invoice_number, invoice_amount, currency, invoice_date
from invoice_summary where invoice_number in ({})'''.format(','.join(["'{}'".format(x) for x in data1['invoice_number']]))
inv_summary= pd.read_sql_query(sql1,cnx)
错误
psycopg2.errors.SyntaxError) syntax error at or near ")"
LINE 2: from invoice_summary where invoice_number in ()
有没有办法让我仍然可以在不中断的情况下执行这个查询。
MySQL 不允许IN ()
中的空列表。 如果您不想在列表为空时跳过查询,您可以做的是在 SQL 列表中添加一个永远不会匹配的额外元素。
sql1 = '''selectcarrier_account, invoice_number, invoice_amount, currency, invoice_date
from invoice_summary where invoice_number in ('', {})'''.format(','.join(["'{}'".format(x) for x in data1['invoice_number']]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.