雪花Python连接器插件不接受变量

人气:417 发布:2022-10-16 标签: python-3.x snowflake-cloud-data-platform snowflake-schema

问题描述

我正在尝试使用雪花连接器在表中插入一条记录。

在雪花doc中,他们展示了使用硬编码字符串的示例,但当我尝试使用我的变量时,它不起作用。在这种情况下,请建议如何使用变量。

conn.cursor().execute(
            "INSERT INTO cm.crawling_metrics(FEED_DATE,COMP_NAME,REFRESH_TYPE,CRAWL_INPUT,CRAWL_SUCCESS) VALUES " +
            "(score_creation_date,compName,sRefreshType,mp_sku_count,comp_sku_count)"

我收到以下错误

snowflake.connector.errors.ProgrammingError:000904(42000):SQL编译错误:第100位的错误行1 无效的标识符‘SCORE_CREATION_DATE’

注意:在上面的代码中,如果我使用字符串而不是变量进行硬编码,它会起作用。

请建议正确的方法是什么?

推荐答案

代码需要使用字符串内插/Formatting才能将这些变量用作实际变量:

conn.cursor().execute(
    "INSERT INTO cm.crawling_metrics (FEED_DATE, COMP_NAME, REFRESH_TYPE, CRAWL_INPUT, CRAWL_SUCCESS) VALUES " +
    f"('{score_creation_date}', '{compName}', '{sRefreshType}', '{mp_sku_count}', '{comp_sku_count}')"
)

949