我試圖在windows 10中使用如何從csv/txt插入之前在postgresql中刪除一行
將大文件文本文件(100k行,x列,分隔符是';')導入到postgresql 9.6,pgadmin4中COPY my_table FROM 'E:\DATA\my_file.txt' (DELIMITER(';');
文本文件中的少量行具有多於x列;結果我得到了「錯誤:最後一次預期的列之後的額外數據」消息。這是由於類似的東西; ; ;
我正在尋找一種方法來檢測這些行,並刪除它們像一個觸發器,而不是插入。
感謝您的快速回答,但有沒有辦法用postgresql清理數據? 我想到的是這樣(僞):
CREATE my_table(x columns);
CREATE funtion import_csv(csv_file,my_table){
for i = 1 to count_rows(csv_file){
if count_columns.csv_file.row(i)<>x{
Skip csv_file.row(i);
}else{
insert csv_file.row(i) in my_table;
}
}
}
或刪除而不是跳過類似的東西。
感謝
想到在將數據複製到數據庫之前,您可能需要使用Python或其他方法「清理」數據文件。 – danjuggler