使用Fuzzywuzzy python进行模糊匹配时返回附加列

时间:2019-10-14 04:53:36

标签: python fuzzywuzzy

我有两个用于模糊匹配的csv文件。文件1中的列为(ID,party_name),文件2中的列为(party_id,prty_name)。使用Fuzzywuzzy库进行模糊匹配时,它返回三个值(prty_name,match_score和row_number)。当文件1的每一列都与文件2匹配时,我也希望返回文件2的party_id。

文件1中的样本数据

ID, party_name
1,'james mackson'
2,'thomas editon'

文件2中的样本数据

party_id,prty_name
234, 'james mackson'
123, 'george p'
453, 'James anidon'

我尝试从代码中返回多余的列,但这无济于事。

column_val_6是一个数据帧,其中包含文件1中的所有party_name值,将对每一行进行处理。

column_val_6 = csv_source_1.party_name column_val_2 = csv_source_2.prty_name

for i in column_val_6:
 for found, score, row_num in process.extract(i, column_val_2, limit=1):
            if score >= 50:
                print('%d%% partial match: "%s" with "%s" ' % (score, i, found))

I need the output as
party_name, prty_name, match_percentage, party_id
'James Mackson', 'James Mackson', 100, 234
'thomas editon', 'James Anidon', 40, 453

0 个答案:

没有答案