4
我想導入CSV文件到PostgreSQL表(9.2)。我得到一個錯誤的列值有錯誤的輸入語法,但它似乎PostgreSQL不匹配列及其值。PostgreSQL - CSV文件導入錯誤
我導入CSV使用此命令:
\copy project_task from '/home/user/downloads/project_task_export.csv' WITH DELIMITER ',' CSV HEADER
錯誤看起來是這樣的:
ERROR: invalid input syntax for integer: "4.25"
CONTEXT: COPY project_task, line 3, column sequence: "4.25"
我的CSV數據是這樣的:
id,create_uid,create_date,write_date,write_uid,remaining_hours,date_start,description,sequence,date_end,active,planned_hours,partner_id,delay_hours,user_id,name,date_deadline,notes,type_id,company_id,priority,total_hours,state,progress,user_group_id,project_id,effective_hours,context_id,timebox_id
185,8,2012-06-05 09:51:09.562849,2012-09-10 08:52:05.789792,26,4.25,2012-06-19 15:54:07,"asdcxzzsrt ab cdefgqwer tyuipok asmmdmksa kmsaaqqwerr.
",10,,t,12,,0.0,6,byrteqwas oeirklm askeiurjqqpl,,,,1,2,12.0,open,64.579999999999998,,9,7.75,1,4
如果你仔細看在這個CSV數據和錯誤中,列順序是第9列,並且錯誤顯示看起來像PostgreSQL使用第6列值爲nin e欄。它爲什麼這樣做?或者,也許我做錯了什麼?
你有一些不帶引號的字符串了。這在創建問題或實際數據時只是一個錯字嗎? – Tim 2013-03-07 13:45:10
如果Daniel的答案沒有幫助,請發佈'\ d project_task'的結果,因爲這將顯示列的順序。我也建議刪除'DELIMITER',''因爲你也指定了CSV(因此它是默認的) – 2013-03-07 14:30:33
@Tim這個CSV文件是使用另一個PostgreSQL數據庫創建的,不知道它爲什麼會產生一個字符串與引號,其他沒有。 – Andrius 2013-03-08 06:42:49