从CSV文件(逗号分隔)创建postgres外部表,其中包含一个电子邮件列,其中多个电子邮件地址以逗号分隔

时间:2014-03-20 15:35:37

标签: postgresql csv

我正在尝试从CSV文件创建一个postgres外部表,该文件的一列是电子邮件地址,此列有多个以逗号分隔的电子邮件地址。由于文件的分隔符是逗号,因此在创建外部表时,它无法区分列中“,”与列之间的“,”。电子邮件列中的电子邮件列表也包含在双引号中。 有没有办法加载它而不改变整个文件的分隔符?

1 个答案:

答案 0 :(得分:0)

CSV的标准做法是在双引号之间包含字段 COPY... CSV会直接导入。

示例:

CREATE TABLE email(id int, emails text);
COPY email FROM STDIN CSV;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1,"abc@example.com,def@example.com"
>> \.

结果:

 select * from email ;
 id |             emails              
----+---------------------------------
  1 | abc@example.com,def@example.com
(1 row)