使用雪花连接器和 COPY INTO 功能将 csv 上传到雪花时如何指定分隔符

Posted

技术标签:

【中文标题】使用雪花连接器和 COPY INTO 功能将 csv 上传到雪花时如何指定分隔符【英文标题】:how to specify delimiter when uploading csv onto snowflake using snowflake connector & COPY INTO function 【发布时间】:2020-10-08 16:19:50 【问题描述】:

我正在使用雪花 python 连接器将 csv 文件上传到雪花。 CSV 文件需要有管道分隔符。如何在 COPY INTO 函数中指定此分隔符?

conn = snowflake.connector.connect(
    user=os.environ.get("USER_NAME"),
    password=os.environ.get("PASSWORD"),
    account=os.environ.get("ACCOUNT"),
    warehouse=os.environ.get("WAREHOUSE"),
    database=os.environ.get("DATABASE"),
    schema=os.environ.get("SCHEMA"),
    role=os.environ.get("ROLE"))
conn.cursor().execute("PUT file:// @%test)
conn.cursor().execute("COPY INTO test_table")
conn.cursor().close()

【问题讨论】:

【参考方案1】:

你必须使用参数FIELD_DELIMITER = 'character'

你的例子:

COPY INTO test_table file_format = (type=CSV FIELD_DELIMITER='|');
  

有关更多信息和其他一些参数,您可以在这里查看:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

【讨论】:

以上是关于使用雪花连接器和 COPY INTO 功能将 csv 上传到雪花时如何指定分隔符的主要内容,如果未能解决你的问题,请参考以下文章

COPY INTO 雪花命令的语法错误

雪花数据库:在 COPY INTO 语句中使用 VALIDATION_MODE 从外部阶段加载 JSON 文件

JDBC 或复制 INTO

来自 S3(COPY) 的雪花负载数据与来自外部表的负载

雪花验证功能未显示错误

如何将代理添加到雪花 .NET 连接器?