刪除重複行與清單排序的正確做法
要刪除重複行,就是把與前面某一行重複的行刪掉,但首先要決定「相同」指的是完全一樣,還是清理後一樣。完全比對最安全,卻會漏掉大部分實際的重複項目。去除前後空格並忽略大小寫,能找出多得多的重複,而這正是大多數人處理電子郵件、關鍵字或產品代碼清單時真正需要的做法。
刪除重複行清單有重複的項目免費使用實例說明
以下是從試算表複製的六個電子郵件地址:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
這裡有三件事。第一行和最後一行完全相同。第二行只差一個大寫的 A。第三行結尾有一個看不見的空格。以下是各規則下的計算結果:
| 規則 | 剩下的行數 | 原因 |
|---|---|---|
| 刪除完全相同的重複行 | 5 | 只有最後一行的 anna 與第一行完全相符 |
| 去除空格並忽略大小寫 | 3 | anna、ben 與 cara 是僅有的不重複地址 |
實務上電子郵件地址幾乎都不分大小寫,所以這裡應該用第二種規則。如果清單來自雜亂的網頁,請先使用擷取電子郵件與連結,確保只有真正的地址進入去重步驟。
需要留意的近似重複項目
近似重複項目是指電腦看起來不同、但對你來說意思相同的行。常見原因如下:
- 大小寫不同:「Blue Widget」與「blue widget」。
- 開頭或結尾有空格,在編輯器中通常看不出來。
- 不換行空格或其他隱藏字元,看起來和一般空格沒有兩樣(文字中的隱藏字元有詳細說明)。
- 標點不同:「e-mail」與「email」。
- 複數形式:這需要人工判斷,工具不應自行合併。
清理清單時,請依此順序進行:先去除空格,若大小寫沒有意義就忽略大小寫,最後再刪除重複行。請保留一份原始清單,並比對兩份清單,確認被刪掉的內容。
大小寫有時很重要
忽略大小寫不一定安全。產品代碼、Linux 上的檔案名稱與部分識別碼都會區分大小寫,所以「AB-101」和「ab-101」可能是兩個不同的項目。在合併只有大小寫不同的項目之前,請先確認接收清單的系統是否把它們視為相同。
字母排序與自然排序
對含有數字的項目排序,結果常常出乎意料。一般的字母排序會逐一比較字元,因為字元 1 排在 2 前面,所以「item10」會排在「item2」前面。
以下是三個項目的比較:
- 字母排序:item1、item10、item2
- 自然排序:item1、item2、item10
自然排序會把數字當成數字來比較,因此 2 會排在 10 前面。為什麼 10 會排在 2 前面有更詳細的說明。檔案名稱、書架編號、版本號碼,以及任何結尾是數量的內容,都適合使用自然排序。至於人名與一般文字,使用一般的字母排序較符合大家的預期。若想在自己的清單上比較兩種排序,只要把清單貼到排序文字行,再在 A→Z 與數字之間切換即可。
另外還有兩點值得注意:
- 排序不會刪除重複項目。請先刪除重複,再排序;否則排序只會讓重複項目排在一起,方便查看,但並不會因此移除。
- 若清單的順序本身有意義,請保留原始順序。例如步驟清單或排名,就不應該排序。
保留第一次出現的項目
刪除重複行時,大多數工具會保留每個項目第一次出現的行,並捨棄之後的重複行。當各行帶有額外資訊(例如姓名和日期)時,這一點就很重要。如果第一次出現的那一筆是過時的資料,請在刪除前先依日期排序,或自行逐一檢查重複項目。
檢查結果
請在處理前後各數一次行數。以上面的電子郵件例子來說,六行變成三個不重複的地址,因此刪掉了三行。如果行數比預期少,請查看被刪除的行。刪除重複是以整行為比對單位,因此在一份資料列清單中,兩位同名的人,或兩個標題相同但代碼不同的產品,若代碼被截掉,看起來就可能完全一樣。請從定義項目的欄位去刪除重複,而不是從只用來描述項目的欄位去刪除。
如何使用 fixmint 完成
- 把清單貼到你的清單,每行一個項目。
- 保持勾選去除前後空格(預設即是),只有在大寫沒有意義時才勾選忽略大小寫。
- 若也要刪除空白行,請勾選移除空白行。
- 選擇排序方式:保持原順序、A→Z 或數字。
- 複製結果,或使用下載 .txt。
特殊情況
- 空白行。連續多個空白行可能會被視為重複。若想保留一個空白行作為間隔,請分開一個步驟處理。
- 多行記錄。刪除重複是逐行進行的。如果每筆記錄橫跨數行,可能會把一筆記錄拆開,使各部分順序錯亂。
- 超大清單。大型檔案也能處理,但請比對輸出與輸入的行數,以掌握實際的變動。
常見問題
刪除重複行時也會自動排序嗎?
不一定。許多工具會保留原本的順序,如果你需要特定順序,請另外排序。
排序時,為什麼 item10 會排在 item2 前面?
一般字母排序是逐一比較字元,而字元 1 排在 2 前面。請改用自然排序,它會把數字當成數字來比較。
刪除重複的電子郵件時,應該忽略大小寫嗎?
通常應該,因為電子郵件地址在實務上不分大小寫。若是大小寫會改變意義的識別碼,就不要忽略大小寫。
借助 AI 協助,由英文原文翻譯而成。
留言
還沒有留言,搶先留言吧。


