无法将 csv 文件加载到 Snowflake

Unable to load csv file into Snowflake

当我尝试将 CSV 从我的系统加载到 Snowflake 时出现以下错误 table:

无法将文件复制到 table。 数值“4”无法识别文件“@EMPP/ui1591621834308/snow.csv”,第 2 行,字符 25 第 1 行,第 "EMPP"["SALARY":5] 如果您想继续遇到错误时加载,ON_ERROR选项使用'SKIP_FILE'或'CONTINUE'等其他值。有关加载选项的更多信息,请运行 'info loading_data'在 SQL 个客户端中。

错误消息是说您的文件中有一个包含 "4 的值,该值正被添加到具有该值的数字字段的 table 中。由于那不是数字,因此它失败了。这似乎发生在文件的第一行,因此您可以打开它并查看值。如果它只有一条记录,您可以将 ON_ERROR = 'CONTINUE' 添加到您的命令中,以便它跳过它并继续前进。

您似乎正在使用指定的 FIELD_OPTIONALLY_ENCLOSED_BY='"' 文件格式选项加载 CSV。

此选项将允许读取任何用 " 字符正确引用的字段,如果正确转义,甚至支持带有分隔符和 " 字符的字段。一些可以被认为有效的示例:

CSV FORM   | ACTUAL DATA
------------------------
abc        | abc
"abc"      | abc
"a,bc"     | a,bc
"a,""bc""" | a,"bc"

特别注意 final 示例 follows the specified rule:

When a field contains this character, escape it using the same character. For example, if the value is the double quote character and a field contains the string A "B" C, escape the double quotes as follows:

A ""B"" C

如果您的 CSV 文件在数据中带有引号但不一定引用字段(并且分隔符和换行符不会出现在数据字段中),您可以删除 FIELD_OPTIONALLY_ENCLOSED_BY 选项 从您的文件格式定义中读取分隔符 (,) 字段中的文件。

如果您的 CSV 确实使用引号,请确保生成 CSV 文件的任何内容都使用有效的 CSV 格式编写器,而不是简单的字符串修改,并使用正确转义的引号重新创建它。如果上述数据示例在引用形式中被视为有效,则它必须在文件中显示为 "4"4.