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

如何在Vertica的COPY命令中去除CSV字段值的双引号?

如何在Vertica导入CSV时去除字符串字段的双引号?

我通过ClickHouse的S3表引擎将数据存储为S3上的CSV文件,再用Vertica的COPY命令导入到自有表中。

ClickHouse侧的S3表DDL:

CREATE TABLE db.table on cluster 'cluster_name'
(
    `id` String,
    `articles` UInt64,
    `app_days` UInt64,
    `search_count` UInt64,
    `city` String
)
ENGINE=S3('https://123.123.com/file.csv',
          'key',
          'secret_key',
          'CSV')

在ClickHouse中查询时,id和city字段值没有双引号,但用Vertica的COPY命令导入后,这些字段值会带上双引号(比如"111"或"NY")。

我使用的Vertica COPY命令:

COPY db.table2(id, articles, app_day, search_count, city) 
FROM 's3://file.csv'
REJECTED DATA AS TABLE db.table2_rejected DELIMITER ','

解决方案

在Vertica的COPY命令中添加ENCLOSED BY '"'参数,指定双引号作为字段的包围符号,导入时会自动剔除字段首尾的双引号。修改后的命令如下:

COPY db.table2(id, articles, app_day, search_count, city) 
FROM 's3://file.csv'
REJECTED DATA AS TABLE db.table2_rejected 
DELIMITER ','
ENCLOSED BY '"'

补充说明

  • ENCLOSED BY参数会匹配字段首尾的指定字符(此处为双引号),并在导入过程中移除它们,兼容带引号和不带引号的字段场景。
  • 如果CSV中存在包含分隔符(逗号)的字符串字段,该参数还能正确识别带引号的完整字段,避免分隔符导致的字段错位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:03:14