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

如何去除Snowpark DataFrame列名双引号并无引号保存Snowflake表

Pandas DataFrame转Snowpark DataFrame后,Snowflake表列名带双引号的解决办法

我尝试用以下代码将Pandas DataFrame转换为Snowpark DataFrame并保存为Snowflake表:

pdf = pd.DataFrame(...)
pdf.columns = pdf.columns.str.replace(' ', '')
sdf = session.createDataFrame(pdf)
sdf.write.saveAsTable('MY_TABLE_NAME', mode="overwrite")

处理后Pandas DataFrame的列名仅包含字母和下划线,但最终生成的Snowflake表列名带有双引号。请问如何保存不带双引号列名的表?

已验证的有效解决方案

  • 将列名转为大写(由ADITYA PAWAR提供)
    把Pandas DataFrame的列名统一转为大写后再生成Snowpark DataFrame,保存后的表列名将不带双引号:

    pdf.columns = pdf.columns.str.upper().str.replace(' ', '')
    sdf = session.createDataFrame(pdf)
    sdf.write.saveAsTable('MY_TABLE_NAME', mode="overwrite")
    
  • 使用write_pandas()方法(由Aek提供)
    直接调用Snowpark Session的write_pandas()方法写入Snowflake,该方法默认生成不带双引号的列名,支持临时表和永久表:

    # 写入临时表
    session.write_pandas(pdf, 'MY_TABLE_NAME', auto_create_table=True, table_type="temporary", schema='MY_SCHEMA_NAME')
    # 写入永久表
    session.write_pandas(pdf, 'MY_TABLE_NAME', auto_create_table=True, schema='MY_SCHEMA_NAME')
    

内容的提问来源于stack exchange,提问作者Piotr K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:31:20