簡體   English   中英

如何使用COPY將CSV文件導入postgres-跳過幾列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM