如何卸载 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) 如果此属性值用引号括起来,则引号必须匹配