我正在从google工作表中以文本形式读取查询,该工作表将作为下面的“str1”传递。这是我的代码:
# get query string from google sheets
# establish database connection
cursor = conn.cursor()
cursor.execute((str1))
results1 = cursor.fetchall()
cursor.close()
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
for row in results1:
ws.append(row)
此时我得到的错误如标题所示:
^{pr2}$数据是关于作者/文章信息(我们是出版商)。它包含内容id、站点代码、署名、作者、facebook广告链接和拉取日期/时间
下面是一个包含错误的数据行的示例:
(1693279, 'CPD', 'Morgan Dietrich', "20 Intuitive People Share Their 'Something Doesn\x92t Feel Right' Story That Turned Out To Be True", 'business.facebook.com/550634765042035/posts/…;, datetime.datetime(2017, 11, 29, 20, 49, 24))
我读了很多关于这个错误的问题,但是没有找到解决办法。成功运行的查询(results1)的结果是如下所示的元组:
( (query result ro1/col1, query result ro1/col2, query result ro1/col3),
(query result ro2/col1, query result ro2/col2, query result ro2/col3), ... etc... )
我试过.encode/.decode,但它们对元组似乎不起作用。我试过过滤那些不好的字符,但没用。在
我到底该如何解决这个问题?这些与utf8相关的错误在过去给我带来了太多的烦恼,而我读到的这些错误仍然让我相当困惑。在
失败的原因是
(1693279,
'CPD',
'Morgan Dietrich',
"20 Intuitive People Share Their 'Something Doesn\x92t Feel Right' Story That Turned Out To Be True",
'https://business.facebook.com/550634765042035/posts/1223000787805426',
datetime.datetime(2017, 11, 29, 20, 49, 24))
您有bytestring数据,其中包含非ASCII和非UTF8数据。您要么将数据库配置为返回第4列的Unicode字符串,要么手动解码。在
如果您将数据解码为Windows代码页1252(或相同范围内的许多其他Windows代码页,但对于其他英语文本,1252最有可能是1252),则0x92字节是U+2019 RIGHT SINGLE QUOTATION MARK代码点,因此您可以尝试:
相关问题 更多 >
编程相关推荐