簡體   English   中英

當 csv 文件的字符串中有逗號時,Snowflake 數據庫中的復制命令失敗

[英]Copy command in Snowflake database fails when csv file has comma in a string

我正在將雪花中的舞台表中的 csv 文件復制到普通的雪花表中。

csv 中的某些行在字符串中包含逗號,因此復制命令失敗。

COPY INTO TEST_DB.TEST_SCHEMA.USER FROM @user_test/users.csv.gz 
file_format=(TYPE=csv field_delimiter=',' skip_header=0 ) on_error = 'abort_statement'

我收到以下錯誤

SQL Error [100016] [22000]: Field delimiter ',' found while expecting record delimiter '\n'
  File 'users.csv.gz', line 32, character 54

我也嘗試使用 FIELD_OPTIONALLY_ENCLOSED_BY 這給了我另一個錯誤

COPY INTO TEST_DB.TEST_SCHEMA.USER FROM @user_test/users.csv.gz 
file_format=(TYPE=csv field_delimiter=',' skip_header=0 FIELD_OPTIONALLY_ENCLOSED_BY = '"') 
on_error = 'abort_statement'

我收到以下錯誤

SQL Error [100066] [22000]: Found character '\r' instead of record delimiter '\n'
  File 'users.csv.gz', line 32, character 78

它失敗的 csv 中的行如下所示

100,True,0,2010-10-07 12:19:42,,400,8,467,"Authority, Mail Service"

我注意到只有帶逗號的字符串周圍有雙引號。

這可能是 FIELD_OPTIONALLY_ENCLOSED_BY 仍然失敗的原因嗎?

終於找到了解決辦法。

我用 python 創建的 csv 文件在每一行之間都有行空間。

擺脫 csv 中的行空間后, FIELD_OPTIONALLY_ENCLOSED_BY ='"' 工作並加載數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM