unicodedecodererror;'使用python查询配置单元上的数据时ascii“codec cant”解码

j9per5c4  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(282)

我试图传递变量以查询配置单元数据库,但遇到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)

我不确定这是语法问题还是编码问题,所以我需要改变什么地方?

nnvyjq4y

nnvyjq4y1#

在%s周围用作单引号的第二个撇号不是ascii字符。将单引号字符替换为“”:

my_query =  """
 select *  from polaris_datasets.snmaster  where parent_pid rlike '%s'  and 
created_date >=  "2017-12-01 00:00:00"
 """

相关问题