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

使用redshift_connector导出DataFrame列名为字节串如何解决?

解决方案

方案1(改动最小,优先推荐)

只需要在创建Redshift连接时加一个text_result=True参数即可,其余原有代码完全不用修改,就能得到和psycopg2完全一致的字符串类型列名:

import redshift_connector
import pandas as pd

query = 'SELECT * FROM table'
# 仅新增text_result=True参数
conn = redshift_connector(user=user, host=host, password=password, port=port, database=database, text_result=True)

df = pd.read_sql_query(query, conn)

该参数会让驱动自动把所有返回的字节类型内容(包括列名、字符串类型的字段值)转为UTF-8编码的普通字符串,完美对齐psycopg2的默认行为。


方案2(仅需新增1行代码,适配无法修改连接配置的场景)

如果不方便修改连接初始化的参数,也可以在拿到DataFrame后统一解码列名,后续业务逻辑也无需调整:

df = pd.read_sql_query(query, conn)
# 新增一行解码所有列名
df.columns = [col.decode('utf-8') for col in df.columns]

内容的提问来源于stack exchange,提问作者Bruno Mello

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:36:05