[英]How to import CSV file into postgres using COPY - Skip few columns?
我在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
從該文件復制gid和名稱?
如果您不介意創建其他表,可以按照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腳本,該腳本與cut完全一樣,但尊重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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.