将csv文件中的数据加载到Snowflake时,我遇到了一个特殊情况。
我有多个列需要重做
我的文件格式如下:
ALTER FILE FORMAT DB.SCHEMA.FF_CSV_TEST
SET COMPRESSION = 'AUTO'
FIELD_DELIMITER = ','
RECORD_DELIMITER = '\n'
SKIP_HEADER = 1
FIELD_OPTIONALLY_ENCLOSED_BY = '"'
TRIM_SPACE = FALSE
ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE
ESCAPE = NONE
ESCAPE_UNENCLOSED_FIELD = 'NONE'
DATE_FORMAT = 'AUTO'
TIMESTAMP_FORMAT = 'AUTO'
NULL_IF = ('\\N');
“”中包含逗号的列已得到很好的处理。但是,其余类似(“ \” DataValue \“”)的列返回错误:
找到了字符“ V”,而不是字段定界符“,”
有没有办法解决这个问题?
我尝试对舞台本身使用选择:
select t.$1, t.$2, t.$3, t.$4, t.$5, TRIM(t.$6,'"')
from @STAGE_TEST/file.csv.gz t
LIMIT 1000;
t。$ 5是用“括起来并且包含逗号的列 和t。$ 6是(“ \” DataValue \“”“)
除了开发在处理成Snowflake之前将其删除的python(或其他)代码外,还有其他选择吗?
答案 0 :(得分:1)
将\添加到转义参数。看来您的报价值已正确转义,因此应该注意那些报价。