将MySQL表读入Python

3
cursor.execute('SELECT userid,productid,description from goqii_store_product_rating_log')

以下是我尝试使用Python从MySQL数据库中读取的查询内容:
在这里,描述列的数据类型为文本。
运行时,我遇到了以下错误:
UnicodeDecodeError:'charmap'编解码器无法解码位置8处的0x8d字节:字符映射到
如何克服此错误并顺利读取数据??
所使用的Python版本为:3.7.3
此致

我认为问题已经在这里得到了回答:https://dev59.com/Jl0a5IYBdhLWcg3wNWQB - Gaurav Agarwal
@GauravAgarwal 你好,Gaurav。这基本上是在读取CSV文件,对吧?我现在是通过SQL查询直接导入数据,那么我该如何处理呢?由于我是Python的新手,你能提供一段代码片段来帮助我吗? - Anoop Nair
1个回答

4

我认为这个问题已经在这里得到了回答:

UnicodeDecodeError:'charmap'编解码器无法解码位置7240处的字节0x8d:字符映射到<undefined>

这似乎是由编码差异引起的问题。

这里也指出了一种解决方法。希望这能帮到你:如何使用mysql.connector从MySQL返回str?

此外,在发布问题时,您需要提供更多详细信息,例如您使用的连接器(例如:PyMySQL)

您可以尝试以下操作:

conn = pymysql.connect(host='localhost',
                       user='username',
                       passwd='password',
                       db='database',
                       charset='utf8')

我正在使用MySQLdb包和MYsqldb.connect()来建立连接。 - Anoop Nair
连接数据库时,传递字符集参数 'utf8' 到 connect() 函数。 - Gaurav Agarwal
你好Gaurav,我能够使用pymysql连接器读取它。非常感谢! - Anoop Nair
1
我已经点赞了这个答案,但它没有改变,不知道为什么。 - Anoop Nair
1
指定 charset="utf-8" 对我来说有效,可以解码 utf8mb4 编码。 - raw-bin hood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接