You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用connectorx从MySQL加载数据时列数据类型异常求助

解决connectorx读取MySQL数据时文本/日期列显示为b''的问题

方案1:连接URL中指定字符集

在数据库连接URL末尾添加字符集参数,强制connectorx使用UTF-8编码读取文本数据,从根源避免bytes格式问题:

import connectorx as cx
db_url="mysql://{user}:{pw}@localhost:{port}/{db}?charset=utf8mb4".format(user="testuser",pw="testpassword",db="cachedb",port=13306)
query="""Select * from test"""
df=cx.read_sql(db_url,query)

方案2:批量解码已读取的bytes列

如果已经完成数据读取,可遍历所有object类型列,将bytes对象解码为字符串:

# 遍历所有object类型的列
for col in df.select_dtypes(include=["object"]).columns:
    df[col] = df[col].map(lambda x: x.decode("utf-8") if isinstance(x, bytes) else x)

方案3:检查并修正MySQL表的字符集

确保数据库表使用UTF-8系列字符集(如utf8mb4),避免编码不匹配:

  1. 查询表的字符集配置:
SHOW CREATE TABLE test;
  1. 若字符集不符,执行修改语句:
ALTER TABLE test CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

内容的提问来源于stack exchange,提问作者Chhandosee Bhattacharya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:23:01