Python 如果原始文件中的名称有效但在主文件中不存在,如何包含一个条件,使“匹配”列为空?
我有一个原始文件和一个主文件,例如: 原始文件Python 如果原始文件中的名称有效但在主文件中不存在,如何包含一个条件,使“匹配”列为空?,python,r,Python,R,我有一个原始文件和一个主文件,例如: 原始文件 {'resident', 'gulf corp', 'international', 'perl', 'mntain valley'} 主文件 {'mountain valley', 'gulf corp', 'president', 'national', 'perl'} 我想在这两个文件中找到相似的字符串。我在python中使用了fuzzy.ratio 我的输出如下: resident - president - 98, gulf corp
{'resident', 'gulf corp', 'international', 'perl', 'mntain valley'}
主文件
{'mountain valley', 'gulf corp', 'president', 'national', 'perl'}
我想在这两个文件中找到相似的字符串。我在python中使用了fuzzy.ratio
我的输出如下:
resident - president - 98,
gulf corp - gulf corp - 100,
international - national - 85,
perl - perl - 100,
mntain valley - mountain valley - 87
Required output :
resident
gulf corp - gulf corp - 100,
international
perl - perl - 100,
mntain valley - mountain valley - 87
要求:
当原始文件中的名称有意义时,即在没有任何拼写错误的情况下进行更正,则应检查是否100%匹配,如果未找到,则应返回空
有没有办法做到这一点
我考虑过限制第一个单词,但在像这样的情况下,它不会有帮助
苹果一号-aple一号
在
R
中,您可以简单地检查是否相等
raw_file = c('resident', 'gulf corp', 'international', 'perl', 'mntain valley')
master_file = c('mountain valley', 'gulf corp', 'president', 'national', 'perl')
df = data.frame(raw=raw_file,master=master_file,
match=ifelse(raw_file==master_file,"100",""),stringsAsFactors = FALSE)
> df
raw master match
1 resident mountain valley
2 gulf corp gulf corp 100
3 international president
4 perl national
5 mntain valley perl
如果相同单词的p位置无关紧要,请在%
> df = data.frame(raw=raw_file,master=master_file,
+ match=ifelse(raw_file%in%master_file,"100",""),stringsAsFactors = FALSE)
> df
raw master match
1 resident mountain valley
2 gulf corp gulf corp 100
3 international president
4 perl national 100
5 mntain valley perl
谢谢你的回复。我还希望我的代码能够找到最近的匹配项,例如,mntain valley到mountain valley的匹配百分比。但不应匹配常驻文件,因为它不在主文件中
> df = data.frame(raw=raw_file,master=master_file,
+ match=ifelse(raw_file%in%master_file,"100",""),stringsAsFactors = FALSE)
> df
raw master match
1 resident mountain valley
2 gulf corp gulf corp 100
3 international president
4 perl national 100
5 mntain valley perl