繁體中文

資料與電子表格 · CSV 更清理

重複行刪除的工作原理:精確匹配、空格和大小寫

· 工作原理

csv 資料清理 重複項

兩個相同的表格行合併,而具有不同間距的行保持分離
原始 ToolAcre 向量圖

兩行可能看起來相同,但仍然不逐字節匹配。這篇文章解釋了「重複」對於清理工具意味著什麼,空格、大小寫和格式如何創建錯誤的不匹配,以及如何準備資料以便重複資料刪除捕獲您想要的內容。

「刪除重複」留下明顯的重複 - 為什麼尾隨空格或大寫字母使兩行不同

聯絡人匯出可以顯示兩行看起來相同的行,而一封電子郵件以空格結尾或一個姓氏使用大寫字母。重複按钮不應用人類相似性。在發布的頁面上,它會比較每個單元格的完整字串值,此時大小寫和空格仍然很重要。

這解釋了為什麼在第一次點擊後可能會保留明顯的重複。該工具正在避免做出風險更大的決定:更改大小寫或忽略選定的欄位可能會合併僅看起來相關的記錄。查看原始程式碼,選擇您實際想要的標準化,然後在編輯後重新執行精確刪除。

精確匹配比較什麼 - 每個欄位和每個字符,包括不可見的字符,例如不間斷空格和雜散 BOM 字節

每行接收一個由其所有單元格建構的標識。此實作將它們與不合法的 CSV 文字的空字元連接起來,避免了包含逗號的一個單元格與兩個單獨的單元格衝突的常見錯誤。跳過第二個相同的身份;第一行不變。

摘要提到了不可見的不間斷空格和雜散 BOM 位元組,就好像它們都受到特殊處理一樣。當您選擇 Trim 時,JavaScript 修剪可以刪除周圍的 Unicode 空格,但解析器的明確 BOM 規則僅在檔案的開頭移除 U+FEFF。它不會掃描每個單元格中的任意隱藏位元組。

精確比較涵蓋完整的單元格字串;僅刻意刪除前導檔BOM

顺序很重要。修剪空格會刪除每個儲存格中的前導空格和尾隨空格,而折疊空格也會將內部空格變成一個普通空格。在重複刪除之前應用任一行都可以使之前不同的行相等。首先執行刪除會保留兩者,因為它們的原始字串不同。

面板不會暴露大小寫折疊、Windows-1252 修復或 Unicode 標準化。儘管底層函式庫具有不區分大小寫比較的選項,但路由會呼叫預設的精確函數。因此,聲稱該頁面標準化了大小寫或編碼將超出訪客實際可以使用的控制項。

首先修剪或折疊空白;此面板不會規範大小寫或舊編碼

整行相等與辨識一個客戶不同。共用一封電子郵件但帶有不同時間戳記的兩行都被保留,因為至少有一個儲存格不同。該庫可以比較選定的列,但發布的重複頁面不會公開關鍵列選擇器,因此它無法裁定該對。

這是一個有價值的邊界,而不是一個缺失的魔術。選擇最新記錄、合併欄位或將別名視為一個人需要業務規則,並通常需要審計追蹤。匯出這些衝突以供審查或使用目標系統記錄的合併工作流程,而不是將它們偽裝成完全相同的重複項。

順序與生存 - 刪除重複項時保留哪個副本,以及為什麼這對於「上次更新」資料很重要

當出現完全相同的重複項時,第一個出現的項目會保留下來,而後面的副本會被刪除。幸存的行保持其原始顺序。如果稍後出現較新的版本,但即使在一個欄位上有所不同,它也不是重複的,而是保留下來;如果在單元層級逐位元組相等,則保留任一副本都會產生相同的資料。

當行順序記錄單元格外部的出處時,第一個複製規則在操作上仍然很重要。清理前保持出口不受影響,並在每次操作後檢查計數。 ToolAcre 的撤銷堆疊在目前標籤中保留二十個轉換,但如果會話關閉,下載的原始檔案將是持久的參考。

工作範例 - 具有接近重複項的聯絡人匯出,經過標準化,以便精確的重複資料刪除捕獲它們,並列出仍需要人工審核的行

使用 Ada@example.com 建立一個小型測試,Ada 在一行中,第二行中有兩個完全相同的單元格,第三行中是 ada@example.com 加上 Ada,後面跟著一個空格。精确刪除僅刪除第二行。然後,修剪會刪除尾隨空格,但小寫電子郵件仍保持第三行不同。

此結果將機械確定性與人類判斷區分開來。如果您的系統中已知地址不區分大小寫,請在其他地方套用該規則並記錄下來。清理者的證據更簡單:它可以證明相同的行數組被減少到第一次出現,而不會改變保留的值。

這不包括什麼 - 模糊匹配、拼字錯誤容忍和合併衝突記錄

模糊名稱、拼字錯誤容忍、語音匹配和衝突合併不在此操作範圍內。它不認識到“羅伯特”和“鮑勃”可能指的是一個人,也不會對兩個地址的相似性進行評分。這些技術可能會產生誤報,並需要在平面匯出中不可用的上下文。

鍵列重複資料刪除。文章應該描述讀者可以使用的路線,而不是無法控制的潛在參數。對於身分解析,選擇專門建構的審核流程,其中匹配證據和倖存者規則可見。

重複資料刪除效果與之前的標準化一樣好 — ToolAcre CSV Cleaner 的重複刪除在其編碼和標頭修復後如何適應

ToolAcre 的可靠序列是檢查、標準化所選空白,然後刪除精確的重複。編碼修復和自動標頭修復並不是隱藏的預備階段。解析器刪除前導 UTF-8 BOM,偵測分隔符號並報告結構問題;它不會重新解釋損壞的字元編碼。

刪除後,比較行數並在下載前預覽倖存者。事實證明,消失的東西在當時存在的弦下的每個細胞中都是相同的。剩下的可能包括合法的近似重複項,保留這些不確定的記錄比根據假設默默合併客戶資料更安全。