snowflake.connector.errors.programmingerror:100016(22000):字段分隔符“,”在需要记录分隔符“\n”时找到,文件第178行,第178行

mw3dktmi  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(277)

我正在尝试加载一个csv文件名f58155到一个具有相同名称的雪花表。我有csv格式的文件。它给了我标题上的错误。我还附上了csv文件第178行的屏幕截图,我正面临这个问题(最右边的一列在最后)。有人能帮忙吗?

import snowflake.connector
tableName='F58155'

ctx = snowflake.connector.connect(
user='*',
password='*',
account='*')

cs = ctx.cursor()

ctx.cursor().execute("USE DATABASE STORE_PROFILE_LANDING")
ctx.cursor().execute("USE SCHEMA PUBLIC")

ctx.cursor().execute("PUT file:///tmp/data/{tableName}/* @%{tableName}".format(tableName=tableName))
ctx.cursor().execute("truncate table {tableName}".format(tableName=tableName))
ctx.cursor().execute("COPY INTO {tableName} ".format(tableName=tableName))

ctx.close()

7ivaypg9

7ivaypg91#

听起来您可能有一个包含逗号的单元格值。比如:

1,2,3,"foo,bar",5,6

copy-into语句有一个file\u format参数,您可能需要尝试使用它来适应特定csv文件的细微差别。例如,指定。。。

FIELD_OPTIONALLY_ENCLOSED_BY = '"'

... 在单元格值中使用逗号有助于解决上述问题,但也可能存在转义问题、换行问题等,这些问题可能会产生相同的错误。
文件在这里:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html
另一个建议是使用vs代码这样的文本编辑器来检查csv文件,这样可以帮助您发现抛出错误的行的一些奇怪/独特之处。问题也可能出在前一行。
祝你好运!

相关问题