上個月接了個活,甲方給了兩份客戶名單,一份是上個季度的,一份是這個季度的,都是TXT文件,每行一個客戶編號。
甲方的需求很簡單:找出這個季度新增了哪些客戶。
聽起來不難對吧?我也這么覺得。然后我打開文件一看——上季度那份一萬八千多行,這季度兩萬三千多行。
最開始的笨辦法
我第一反應是用Excel。把兩個文件的內容分別粘貼到兩列里,然后用VLOOKUP去匹配。
問題來了:兩萬多行的VLOOKUP,Excel直接卡了好幾秒才算完。更麻煩的是,兩份名單的行數不一樣,VLOOKUP拉公式的時候還得注意范圍,稍不留神就出錯。
折騰了半個多小時,總算弄出來了。但我心里清楚,這個方法太笨了,下次再來一份三萬行的怎么辦?
后來的做法
在群里吐槽這事的時候,有人說可以用個叫「兩TXT文檔對比工具」的東西,專門干這個的。
我試了一下,確實簡單。打開軟件,把上季度的名單拖到A文件的框里,這季度的名單拖到B文件的框里,選了個"B比A多出的行"的模式,點開始。
大概三四秒,結果就出來了。日志里顯示:A文件18000多行,B文件23000多行,結果5000多行。這5000多行就是新增的客戶編號。
我打開結果文件抽查了幾個,確實是新名單里有但舊名單里沒有的。
半小時的Excel操作,變成了不到一分鐘。
后來又用了幾次
第二次用是合并關鍵詞。我做內容運營,從兩個不同的工具里導出了關鍵詞列表,需要合并成一份。兩份加起來大概有三千多個關鍵詞,肯定有不少重復的。
我選了"合并并去重"那個模式,兩個文件一合并,三千多變成了兩千出頭,重復的全自動去掉了。
第三次用是找兩份數據的共同部分。市場部給了一份參加過活動的用戶列表,我手里有一份購買過產品的用戶列表,想知道哪些用戶既參加了活動又買了東西。選了"交集"模式,幾秒鐘就篩出來了。
還有一次比較特殊,甲方要求把兩份名單合并,但要標注每個編號是來自哪份名單。軟件里剛好有個"合并并標注來源"的模式,合并后每行后面會自動加上"----A"或"----B",一目了然。
![]()
一些使用心得
文件拖拽這個功能挺方便的,不用每次都點瀏覽按鈕去找文件。直接把TXT文件拖到對應的框里就行。
有個"保持原文件順序"的選項,建議勾上。不然結果的行順序可能會被打亂,后續處理起來不方便。
還有個關鍵詞篩選的模式,可以從兩個文件里同時篩選包含某個關鍵詞的行。我用過一次,從兩份日志文件里篩選包含"失敗"的記錄,挺實用的。
唯一不太方便的是,結果文件的名字是固定的"處理結果.txt",每次處理完如果不改名,下次處理就會被覆蓋。所以我現在養成了習慣,處理完就把結果文件改個名。
回過頭來想
其實這類需求說白了就是集合運算——差集、交集、并集。以前沒有趁手的工具,只能用Excel硬湊,費時費力還容易出錯。
現在有了專門的工具,幾秒鐘搞定的事情,沒必要再花半小時去折騰公式了。做數據相關工作的朋友,如果經常要對比文本文件,可以往這個方向找找解決方案。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.