如何卸载 CSV 文件,其中只有非空值用引号括起来,引号可选地包含在内,并且空值不被引用?

Posted

技术标签:

【中文标题】如何卸载 CSV 文件,其中只有非空值用引号括起来,引号可选地包含在内,并且空值不被引用?【英文标题】:How do I unload a CSV file where only non-null values are wrapped in quotes, quotes are optionally enclosed, and null values are not quoted? 【发布时间】:2019-10-21 14:13:23 【问题描述】:

(代表雪花用户提交)


例如 - ""NiceOne"" LLC","Robert","GoodRX",,"Maxift","Brian","P,N and B","Jane"

我已经能够使用创建一种文件格式来满足这些条件中的每一个,但不能满足所有三个条件。

我使用了以下建议:

您的第一列格式错误,缺少最初的“,应该是: """NiceOne"" LLC"

修复该问题后,您应该几乎可以加载数据了 默认设置,

COPY INTO my_table FROM @my_stage/my_file.csv FILE_FORMAT = (TYPE =CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"');

...但上述格式返回: 返回 -

"""NiceOne"" LLC","Robert","GoodRX","","Maxift","Brian","P,N and B","Jane"

我不想在空字段周围加上引号。我在找

"""NiceOne"" LLC","Robert","GoodRX","Maxift","Brian","P,N and B","Jane"


有什么建议吗?

【问题讨论】:

这个问题是关于一个 CSV 文件,而不是关于阅读它...... 【参考方案1】:

如果您使用以下内容,您将不会在 NULL 字段周围获得引号,但您会在 ''(空文本)上获得引号。如果这不适合您,您可以随时连接字段并手动格式化结果行。

COPY INTO @my_stage/my_file.CSV
FROM (
  SELECT
    '"NiceOne" LLC' A, 'Robert' B, 'GoodRX' C, NULL D,
    'Maxift' E, 'Brian' F, 'P,N and B' G, 'Jane' H
)
FILE_FORMAT = (
  TYPE = CSV
  FIELD_OPTIONALLY_ENCLOSED_BY = '"'
  NULL_IF = ()
  COMPRESSION = NONE
)
OVERWRITE = TRUE
SINGLE = TRUE

【讨论】:

以上是关于如何卸载 CSV 文件,其中只有非空值用引号括起来,引号可选地包含在内,并且空值不被引用?的主要内容,如果未能解决你的问题,请参考以下文章

SelectCommand error:Validation(ASP.NET) 如果此属性值用引号括起来,则引号必须匹配

使用 c# 在 CSV 文件中用双引号将每个字段括起来

我的 CSV 文件带有双引号括起来的字段 - 无法识别数值“12131”

为Excel生成CSV文件,如何在值中包含换行符

CSV文件格式要求

CSV文件格式介绍