CSV导入期间postgres中的最后一个预期列之后的额外数据

时间:2018-12-06 16:07:56

标签: postgresql csv import

我正在尝试将CS​​V文件导入postgres并收到以下错误:

"C:\\Program Files\\PostgreSQL\\11\\bin\\psql.exe" --command " "\\copy public.prisons (english_prison_names, dari_prison_names, pashto_prison_names, characters_transmitted) FROM 'C:/Data/prisons.csv' CSV ENCODING 'UTF8' QUOTE '\"' ESCAPE '''';""
  

错误:最后一个预期的列之后有多余的数据。上下文:COPY监狱,   第1行:“八大千山监狱设施,喀麦隆监狱,喀麦隆监狱   یدنبن,BKN ,, ...”

我已经在堆栈上阅读了多个此类问题,并检查了数据中是否有多余的空间,我的CSV文件中只有4列,而在表中创建了4列。

CSV的前几行样本,似乎已经挂在第一行了吗?

Badakhshan Prison Facility,زن دان ب دخ شان,ب د د خشا هناخ یدنب ن,BKN,,,,,,
Badghis Prison Facility,نز دا ب ن ا د سیغ,ب د ا د ب سیغ ن د ی هناخ,BDG,,,,,,
Baghlan Prison Facility,نز دا ب ن غا ل ن,ب د غا ل ب ن ن د ی هناخ,BGL,,,,,,

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

想通了!当我出于某种原因从excel保存到CSV时,在每行的末尾添加了所有这些多余的逗号,这导致postrgres将其视为空列,比我准备的列还要多。