2015-04-23 30 views
0

我對postgres相當陌生。我正在嘗試將文件從我的電腦複製到postgres服務器。我首先初始化表將CSV上傳到Postgres時輸入語法無效

CREATE TABLE coredb (
id text, lng numeric(6,4), lat numeric(6,4), 
score1 numeric(5,4), score2 numeric(5,4)); 

我的CSV看起來是這樣的:

 ID  lng  lat score1 score2 
     1  -72.298 43.218 0.561  0.894 
     2  -72.298 43.218 0.472  0.970 
     3  -72.285 43.250 0.322  0.959 
     4  -72.285 43.250 0.370  0.934 
     5  -72.325 43.173 0.099  0.976 
     6  -72.325 43.173 0.099  0.985 

然而,當我嘗試將CS​​V拷貝過來,我收到以下錯誤

COPY coredb FROM '/home/usr/Documents/filefordb.csv' DELIMITER ',' CSV; 
ERROR: invalid input syntax for type numeric: "lng" 
CONTEXT: COPY nhcore, line 1, column lng: "lng" 

奇怪的是,當我將CREATE TABLE參數設置爲所有列的文本時,csv導入就好了。有人可以解釋爲什麼發生這種情況?我正在使用psql 9.4.1

+0

你確定你的CSV看起來像這樣嗎?這裏面沒有逗號。它看起來像你需要改變你的'DELIMITER',''更好的東西,並使用'WITH HEADER true'選項 – vol7ron

回答

2

您必須使用HEADER true來告訴COPY跳過標題行。

+0

上帝我是個白癡,謝謝! –

相關問題