我必须使用postgresql在表中复制.csv文件; 我有三个属性:姓名,地址,邮政编码。
我正在使用命令:
COPY schemaname.tablename
FROM '/tmp/tablename.csv'
DELIMITER ',';
问题是,在某些行中,地址中有逗号'文本,因此数据库将它们视为分隔符(例如John," 22,King' s",89224!
地址也被引用("")......并且没有标题。
有人可以建议一些解决方案吗?
答案 0 :(得分:2)
如果您有文本限定符,您应该告诉postgresql使用它来区分嵌入字符串的逗号和分隔字段的逗号:
COPY schemaname.tablename
FROM '/tmp/tablename.csv'
DELIMITER ','
QUOTE '"';
COPY
的完整选项列表:PostgreSQL - SQL Copy
答案 1 :(得分:0)
使用CSV格式代替分隔符
COPY schemaname.tablename
FROM '/tmp/tablename.csv' CSV