Python MySQL 连接器返回字节数组而不是常规字符串值 [英] Python MySQL connector returns bytearray instead of regular string value

查看:40
本文介绍了Python MySQL 连接器返回字节数组而不是常规字符串值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将一个表中的数据加载到 Pandas 中,然后将该数据插入到新表中.但是,我看到的是 bytearray,而不是普通的字符串值.

I am loading data from one table into pandas and then inserting that data into new table. However, instead of normal string value I am seeing bytearray.

bytearray(b'TM16B0I8') 应该是 TM16B0I8

我在这里做错了什么?

我的代码:

engine_str = 'mysql+mysqlconnector://user:pass@localhost/db'
engine = sqlalchemy.create_engine(engine_str, echo=False, encoding='utf-8')
connection = engine.connect()

th_df = pd.read_sql('select ticket_id, history_date', con=connection)

for row in th_df.to_dict(orient="records"):
    var_ticket_id = row['ticket_id']
    var_history_date = row['history_date']

    query = 'INSERT INTO new_table(ticket_id, history_date)....'

推荐答案

出于某种原因,Python MySql 连接器只返回 bytearrys,(更多信息在 (How-return-str-from-mysql-using-mysql-connector">How return str from mysql using mysql.connector?) 但是你可以用

For some reason the Python MySql connector only returns bytearrys, (more info in (How return str from mysql using mysql.connector?) but you can decode them into unicode strings with

var_ticket_id = row['ticket_id'].decode()
var_history_date = row['history_date'].decode()

这篇关于Python MySQL 连接器返回字节数组而不是常规字符串值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆