從 csv 檔案中剪下列的特定部分

從 csv 檔案中剪下列的特定部分

我必須處理包含大約 15 列的 csv,其中一列包含包含毫秒的特定時間戳記。當我將此 csv 插入資料庫時,由於這種特定的時間格式,我收到錯誤。我無法觸及其他列,但我需要截斷第六列的輸出並建立一個新檔案。

一個例子是:

73306758;Da Lavorare;;20300;RESTAROC;10/10/2014 16:37:22.425;PALAGIANO;TA;PUGLIA;;Libretto;IDENTITA;AI2000000;OK;DOC Valido;0;0;CCCMNN85X26X251X;OK;CF Attribuito;0;0

答案1

假設您想刪除:第四列中後跟數字的任何情況(您在問題中說的是第六列,但在示例中是第四列),您可以使用以下之一:

  1. awk

    awk -F';' -v OFS=";" '{sub(/\.[0-9]*$/,"",$6);}1;' file.csv > new.csv
    
  2. Perl(這會更改實際文件並保留原始文件file.csv.bak

    perl -i.bak -F';' -ane '$F[5]=~s/\.[0-9]*$//; print join ",", @F' file.csv
    

相關內容