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

2024-07-03 07:16:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将csv文件名F58155加载到snowflake中具有相同名称的表中。我有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()

enter image description here


Tags: 文件csv名称format标题executeconnectoruse
1条回答
网友
1楼 · 发布于 2024-07-03 07:16:03

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

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

COPY INTO语句有一个FILE_格式参数,您可能希望使用该参数进行实验,以适应特定CSV文件的细微差别。例如,指定

FIELD_OPTIONALLY_ENCLOSED_BY = '"'

。。。对于上面的单元格值中的逗号示例会有所帮助,但也可能存在转义问题、换行问题等,这些问题可能会产生相同的错误

文档在这里:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

另一个建议是使用VS代码这样的文本编辑器检查CSV文件,这将帮助您发现抛出错误的行的某些奇怪/独特之处。问题也可能出现在前一行

祝你好运

相关问题 更多 >