在 Pandas 和 pyodbc SQL 服务器 w/o 中使用百分比 (%) 错误
Using Percent (%) in Pandas and pyodbc SQL Server w/o Error
我认为 sql 查询中的 %
会导致 Python 出现问题,因为 %s
被用于变量。我试过转义字符,但到目前为止运气不好
import pyodbc
import pandas as pd
conn = pyodbc.connect('...')
cursor = conn.cursor()
sql_statement = """
select ABS(CHECKSUM(NEWID()) % 2), %s
"""
s = sql_statement % (5)
df = pd.read_sql_query(s, conn)
ValueError: unsupported format character ')' (0x29) at index 33
ABS(CHECKSUM(NEWID()) % 2)
应该只是 return 每行随机值的一种方法
这只是一个简单的例子。每当我尝试使用 var like '%abc%
时,我都会遇到与上述相同的问题,我相信 % 字符会导致 python 库出现问题。
有没有办法转义这些字符或避免这个问题?
通常只添加另一个“%”表示您将“%”用作字符串而不是模数。例如:
print('5%%')
打印“5%”的结果。
我认为 sql 查询中的 %
会导致 Python 出现问题,因为 %s
被用于变量。我试过转义字符,但到目前为止运气不好
import pyodbc
import pandas as pd
conn = pyodbc.connect('...')
cursor = conn.cursor()
sql_statement = """
select ABS(CHECKSUM(NEWID()) % 2), %s
"""
s = sql_statement % (5)
df = pd.read_sql_query(s, conn)
ValueError: unsupported format character ')' (0x29) at index 33
ABS(CHECKSUM(NEWID()) % 2)
应该只是 return 每行随机值的一种方法
这只是一个简单的例子。每当我尝试使用 var like '%abc%
时,我都会遇到与上述相同的问题,我相信 % 字符会导致 python 库出现问题。
有没有办法转义这些字符或避免这个问题?
通常只添加另一个“%”表示您将“%”用作字符串而不是模数。例如:
print('5%%')
打印“5%”的结果。