MariaDB MEDIUMBLOB在Power BI与Python中的格式转换问题
解决Power BI中MariaDB MEDIUMBLOB图片拆分问题
核心问题说明
Power BI的MariaDB连接器会将MEDIUMBLOB列识别为Binary类型,而Python查询时会返回字节串(bytes),本质是同一数据的不同封装形式。要绕过Power BI数据元素的字符限制拆分图片,关键是先完成格式转换,再执行拆分操作。
Power Query具体操作步骤
将Binary转换为Base64文本
在Power Query编辑器中,选中MEDIUMBLOB对应的Binary列,添加自定义列,使用以下公式把二进制数据转成可拆分的Base64字符串:= Binary.ToText([你的Blob列名], BinaryEncoding.Base64)拆分Base64文本
根据你的字符限制需求拆分字符串,比如按固定长度拆分(示例为每10000字符拆分):
添加自定义列,执行拆分:= List.Split(Text.ToList([Base64列名]), 10000)若需其他拆分规则,调整
List.Split的第二个参数即可。还原为Binary(如需显示图片)
若拆分后需要还原成可显示的图片,将拆分后的子列表合并回字符串,再转成Binary:= Binary.FromText(Text.Combine([拆分后的列表]), BinaryEncoding.Base64)处理Power BI内Python查询的差异
如果用Python查询返回的是字节串,先在Python代码里转成Base64字符串再输出:import base64 df['blob_base64'] = df['你的Blob列名'].apply(lambda x: base64.b64encode(x).decode('utf-8'))导入Power BI后再按上述步骤拆分即可。
关键注意点
- 拆分后的片段必须保留顺序,还原时才能拼接出完整图片。
- 若仅需存储拆分后的片段,可跳过还原步骤,直接保存拆分后的文本列表。
内容的提问来源于stack exchange,提问作者AlexisPa
相关产品推荐
相关产品推荐

