0
我有一個記錄集如下。使用Python的字符串的模糊匹配
"product_id"|"prod_descr"|"status"|"last_upd_time"
"102317"|"TELMINORM CH 40/12.5MG TAB 10'S"|"A"|"2016-08-31 15:02:06.609879"
"99996"|"BECOSTAR TAB 15'S"|"A"|"2016-09-05 18:20:25"
"99997"|"SUPRADYN TABLET15S"|"A"|"2016-09-06 09:05:24"
"120138"|"LASILACTONE 50MG TABLET 10'S"|"A"|"2016-09-07 12:01:05"
"101921"|"TELMA 20MG TABLET 15S"|"A"|"2016-08-31 15:02:06.609879"
"1220"|"ACNESTAR SOAP 75GM"|"A"|"2016-08-31 15:02:06.609879"
"120147"|"AMANTREL CAPSULES 15S"|"A"|"2016-09-09 09:54:35"
"113446"|"VOLIX 0 3MG TABLET 15S"|"A"|"2016-08-31 15:02:06.609879"
"121294"|"maxifer xt syrup "|"A"|"2016-09-29 15:32:40"
"120151"|"PIRITON CS SYRUP 100ML"|"A"|"2016-09-09 14:30:46"
"103481"|"TERBICIP SPRAY 30ML"|"A"|"2016-08-31 15:02:06.609879"
"96175"|"SORBITRATE 5MG TABLET 50S"|"A"|"2016-08-31 15:02:06.609879"
該集是巨大的百萬記錄。我想要記錄每個記錄(第二個字段),如第2行"TELMINORM CH 40/12.5MG TAB 10'S"
,並與其餘記錄進行模糊比較,並查找是否存在相似的記錄集。
一個例子是 TELMINORM CH 40/12.5MG TAB 10'S
與TELMINORM CH 40/12.5MG CAP 10'S
相同。片劑/膠囊是TAB/CAP的含義。在這種情況下,它是一個重複記錄。
所以爲了消除這個我使用了distance
模塊,然後如果字符串的差異小於5,我正在以下面的格式寫入一個文件。
TELMINORM CH 40/12.5MG TAB 10'S - TELMINORM CH 80/12.5MG TAB 10'S, TELMINORM CH 40/12.5MG TAB 10'S, TELMINORM CH 40/12.5MG CAP 10'S
我使用的邏輯是做的伎倆,但緩慢。它在1小時內處理150條記錄,這是非常緩慢的過程。