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