我在想這個.csv文件的分隔符是什麼。我試圖通過COPY FROM語句導入.csv,但不知怎的,它總是拋出一個錯誤。當我將分隔符更改爲E'\ t'時,會引發錯誤。當我將分隔符更改爲'|'時它會拋出一個不同的錯誤。我一直在試圖導入一個愚蠢的.csv文件3天,我無法取得成功。 我真的需要你的幫助。這裏是我的.csv文件:Download here, please如何設置分隔符Postgresql
我的PostgreSQL的代碼如下所示:
CREATE TABLE movie
(
imdib varchar NOT NULL,
name varchar NOT NULL,
year integer,
rating float ,
votes integer,
runtime varchar ,
directors varchar ,
actors varchar ,
genres varchar
);
我的副本聲明:
COPY movie FROM '/home/max/Schreibtisch/imdb_top100t_2015-06-18.csv' (DELIMITER E'\t', FORMAT CSV, NULL '', ENCODING 'UTF8');
當我使用SHOW SERVER_ENCODING
它說: 「UTF8」。但爲什麼地獄不能postgre從列中讀取數據?我真的不明白。我使用Ubuntu 64位,.csv文件具有它所需的所有權限,postgresql也有。請幫幫我。 這是我的錯誤:
ERROR: missing data for column "name" CONTEXT: COPY movie, line 1: "tt0468569,The Dark Knight,2008,9,1440667,152 mins.,Christopher Nolan,Christian Bale|Heath Ledger|Aar..."
********** **********錯誤
ERROR: missing data for column "name" SQL state: 22P04 Context: COPY movie, line 1: "tt0468569,The Dark Knight,2008,9,1440667,152 mins.,Christopher Nolan,Christian Bale|Heath Ledger|Aar..."
那麼,我確定它,因爲它是一個.csv文件,它是逗號分隔。但問題是,在列之後有5個逗號,「,,,,,」,並且在每行之後。因此,因此postgre說:「錯誤額外的數據後最後期望列」我怎麼解決這個問題? – Blnpwr