“最后预期列之后的额外数据”尝试将csv文件导入postgresql时 [英] "extra data after last expected column" while trying to import a csv file into postgresql
本文介绍了“最后预期列之后的额外数据”尝试将csv文件导入postgresql时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试将CSV文件的内容复制到我的postgresql数据库中,并且出现此错误最后一个预期列之后的额外数据。
I try to copy the content of a CSV file into my postgresql db and I get this error "extra data after last expected column".
我的内容CSV是
agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
100,RATP (100),http://www.ratp.fr/,CET,,
,而我的postgresql命令是
and my postgresql command is
COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
这是我的桌子
CREATE TABLE agency (
agency_id character varying,
agency_name character varying NOT NULL,
agency_url character varying NOT NULL,
agency_timezone character varying NOT NULL,
agency_lang character varying,
agency_phone character varying,
agency_fare_url character varying
);
Column | Type | Modifiers
-----------------+-------------------+-----------
agency_id | character varying |
agency_name | character varying | not null
agency_url | character varying | not null
agency_timezone | character varying | not null
agency_lang | character varying |
agency_phone | character varying |
agency_fare_url | character varying |
推荐答案
现在您有7个字段。
您需要将CSV中的这6个字段映射到表中的6个字段中。
You need to map those 6 fields from the CSV into 6 fields into the table.
您不能仅映射csv中的3个字段当您拥有6时,就像在以下情况中所做的一样:
You cannot map only 3 fields from csv when you have it 6 like you do in:
\COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
csv文件中的所有字段都必须映射到命令副本中。
All fields from the csv file need to to be mapped in the copy from command.
并且由于您定义了csv ,
分隔符是默认的,因此您无需放置它。
And since you defined csv ,
delimiter is default, you don't need to put it.
这篇关于“最后预期列之后的额外数据”尝试将csv文件导入postgresql时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文