#用于转换bit在pymysql中显示为x00的问题
from pymysql import converters converions = converters.conversions converions[pymysql.FIELD_TYPE.BIT] = lambda x: '0' if 'x00' else '1'
然后在connection中加上:
mysql_info = pymysql.connect(Mysql_yrs_ip_port,Mysql_yrs_username,Mysql_yrs_passwd,Mysql_yrs_db,Mysql_yrs_port,charset='utf8',conv=converions)二、使用时转换
MySQL表中存有bit型数据,相当于Python中的true和false类型数据,但是读取到的值是b'x00'和b' x01'这两种
Python不会自动处理这种数据,需要进行转码才能实现后续的判断,刚开始以为这种数据类型是16进制,后来查询了一些资料发现利用Python自带方法ord()即可实现转码
例如:
print(ord(b'x00'))
得到输出结果为0
-
-
-
-
refer:
pymysql在读取bit类型时显示x00的解决办法 - 走看看
Python+MySQL的坑之bit型数据_ntx1023的博客-CSDN博客



