【问题标题】:Uploading data with double quotes within content in PostgreSQL在 PostgreSQL 的内容中上传带双引号的数据
【发布时间】:2018-11-11 12:23:31
【问题描述】:

自过去 3 小时以来一直在尝试此操作。我正在尝试上传实际上看起来像这样的内容

5635424,Utah,,ST GEORGE CITY,,,,84770,,,,,South,,,PLANTATIONS,Drive,,,,1157,,,"WORLDMARK, THE CLUB AT ST GEORGE",,,UNIT,,,,-113.62304518432343,37.089219399452638,12STG6686207989,{29D86F48-5D11-4CFE-B161-7B6D0C0190E3},,,Utah AGRC,WASHINGTON COUNTY,ST GEORGE,20170817000000,,

它实际上在某些字段中包含双引号(“”),并且数据以逗号分隔。

我正在尝试上传该数据,但每次遇到此错误。

我正在使用的查询

COPY "nad_data" FROM 'D:\AddressEvaluation\NAD.csv' DELIMITER ','
quote E'\b' CSV encoding 'win-1252';

我面临的错误。

ERROR:  extra data after last expected column
CONTEXT:  COPY nad_data, line 13577: "5621646,Utah,,ST GEORGE 
 CITY,,,,84770,,,,,South,,,PLANTATIONS,Drive,,,,1157,,,"WORLDMARK, THE CLUB 
 A..."
  ********** Error **********

有什么问题吗,还是我错过了什么? 请帮忙。

【问题讨论】:

  • line 13577 ... 这似乎暗示前 13576 行按计划进行。您能否检查这一行并检查,如错误消息所暗示的那样,在最后一个预期列之后是否有额外数据?
  • 不,这条线完全适合列下,但双引号实际上是一团糟。我在问题中提到了那条线。我可能错了,但这就是我想出的,先生。

标签: postgresql double-quotes uploading


【解决方案1】:

如失败的那行所示,你的数据的引号字符是双引号,这也是CSV format中的默认值。

所以尝试从 COPY 调用中删除它:

引用 E'\b'

\b 对应于反斜杠,在这种情况下,它似乎是错误的。

【讨论】:

    猜你喜欢
    • 2019-02-15
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多