」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 比較大型 csv 檔案 #eg38

比較大型 csv 檔案 #eg38

發佈於2024-11-08
瀏覽:421

這是兩個結構相同的 csv 檔案(A 和 B)。兩者都使用KEY_A、KEY_B和KEY_C作為主鍵,兩者有不同的記錄。

Compare large csv files #eg38
使用Java以三種方式比較兩個文件,並將結果分別寫入新的csv文件。 1、找到主鍵相等且其他欄位值不相等的記錄,輸出其主鍵,然後輸出A的其他欄位和B的其他欄位。以下是預期結果:

Compare large csv files #eg38

  1. 根據主鍵找出A和B的差異,即A中存在但B中不存在的記錄。以下是預期結果:

Compare large csv files #eg38

  1. 依主鍵找出B和A的差異。以下是預期結果:

Compare large csv files #eg38
寫 SPL 程式碼進行這三個比較。以下是第一次比較:

Compare large csv files #eg38

Compare large csv files #eg38

Compare large csv files #eg38
T()函數解析csv檔案或將資料寫入csv檔案;@c 選項允許使用遊標從無法裝入記憶體的檔案中擷取資料。 sortx() 函數對遊標中的資料進行排序。 joinx() 函數執行合併連線。 merge() 函數合併記錄;@d 選項可以找到差異。

閱讀如何在 Java 中呼叫 SPL 腳本,以了解如何將 SPL 整合到 Java 應用程式中。

這是 StackOverflow 上的問題之一。你可以點擊查看,傳統的解決方案相當複雜,但SPL方法確實簡單有效率。

SPL開源位址

版本聲明 本文轉載於:https://dev.to/esproc_spl/compare-large-csv-files-eg38-29m8?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3