我在Postgres有一张只有2列的表
CREATE table dummy(col1 char(10), col2 char(10));
CSV文件包含以下列:
gid prov name pop1996
4468 BC VANCOUVER 514008
4501 BC SURREY 304477
4473 BC BURNABY 179209
4485 BC RICHMOND 148867
如何使用\COPY
?
答案 0 :(得分:-1)
如果您不介意创建其他表格,可以按照Q / A @Jan Marek指出:https://stackoverflow.com/a/12619903/318174
如果您无法创建额外的表,请执行以下操作:
您需要先删除不需要的列,然后再预处理CSV文件。最简单的方法是使用UNIX cut。
cat file.csv | cut -d '\t' 1,3 > processed.csv
如果您的CSV文件需要进行一些转义,您可以在很久以前使用python script I wrote,这与剪切完全相同但尊重CSV。
cat file.csv | csvcut.py -d '\t' 1,3 > processed.csv
接下来,加载psql并输入:
\copy your_table (col1,col2) FROM '/path/to/processed.csv' DELIMITER '\t' CSV;