我试图传递变量以查询配置单元数据库,但遇到unicodedecodererror,如下所示。
下面是我的密码。
import pyodbc
import pandas as pd
var1 = 'UCSB'
my_connection = pyodbc.connect('DSN=MapR-64-Hive', autocommit=True)
my_cursor = my_connection.cursor()
my_query = """
select * from polaris_datasets.snmaster where parent_pid rlike ‘%s’ and created_date >= "2017-12-01 00:00:00"
"""
my_cursor.execute(my_query, var1)
误差如下。
>>> my_cursor.execute(my_query, var1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 70: ordinal not in range(128)
我不确定这是语法问题还是编码问题,所以我需要改变什么地方?
1条答案
按热度按时间nnvyjq4y1#
在%s周围用作单引号的第二个撇号不是ascii字符。将单引号字符替换为“”: