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