我在想这个.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