两个文本文件中的Python模糊匹配
我有一个简单的代码,可以匹配两个文本文件中的网络用户名。我试图通过将两个输入都改为大写来规范化输入,但我需要进一步,让代码生成部分用户名匹配。我可能有史密斯,约翰在一个名单,也许,史密斯,约翰(金融)在另一个名单。我已经看过fuzzyfuzzy,但我只学习了几周Python,我很难理解如何在脚本中使用它两个文本文件中的Python模糊匹配,python,fuzzy-search,Python,Fuzzy Search,我有一个简单的代码,可以匹配两个文本文件中的网络用户名。我试图通过将两个输入都改为大写来规范化输入,但我需要进一步,让代码生成部分用户名匹配。我可能有史密斯,约翰在一个名单,也许,史密斯,约翰(金融)在另一个名单。我已经看过fuzzyfuzzy,但我只学习了几周Python,我很难理解如何在脚本中使用它 with OpenUpperCase(filename, "r")as file1: for line in islice(file1,20,None): with Op
with OpenUpperCase(filename, "r")as file1:
for line in islice(file1,20,None):
with OpenUpperCase ("c:\\Files\Usernames.txt", "r") as file2:
files= filename.upper().split("\\")
int1=files[3].strip()
filedate=int1[0:-4]
list2 = file2.readlines()
for i in file1:
for j in list2:
if i == j:
这就是我到目前为止所做的,可能不是很好的编码,但它似乎很有效。关于如何获得我的用户名的模糊匹配,有什么想法吗?
非常感谢您能提供的任何帮助
编辑。
通常,我的列表如下所示。显然有数百名用户
文件1
文件2
为了简单起见,使用
stringIO
对象:
file1 = io.StringIO("""Salt, William (old user)
Wilds, Tony
Smith, William (Old User)
JONES,Steven (Old User)""")
file2 = io.StringIO("""Salt, Bill
Wilds, Tony (SALES)
Smith,Will (OLD USER)
JONES,STEVEN (ACCOUNTS)""")
将所有名称读入一个集合:
def read_file(fobj):
names = set()
for line in fobj:
split_line = line.lower().split(',')
names.add((split_line[0], split_line[1].split()[0]))
return names
对于每个文件:
data1 = read_file(file1)
data2 = read_file(file2)
一个简单的交叉路口可以:
data1.intersection(data2)
结果:
set([('wilds', 'tony'), ('jones', 'steven')])
为了简单起见,使用
stringIO
对象:
file1 = io.StringIO("""Salt, William (old user)
Wilds, Tony
Smith, William (Old User)
JONES,Steven (Old User)""")
file2 = io.StringIO("""Salt, Bill
Wilds, Tony (SALES)
Smith,Will (OLD USER)
JONES,STEVEN (ACCOUNTS)""")
将所有名称读入一个集合:
def read_file(fobj):
names = set()
for line in fobj:
split_line = line.lower().split(',')
names.add((split_line[0], split_line[1].split()[0]))
return names
对于每个文件:
data1 = read_file(file1)
data2 = read_file(file2)
一个简单的交叉路口可以:
data1.intersection(data2)
结果:
set([('wilds', 'tony'), ('jones', 'steven')])
你能给我一个列表的样本吗?@zhangyangyu lists attached给你一个想法。感谢@Mike Müller将列表编辑成更可读的格式。你能给我一个列表的样本吗?@zhangyangyu lists attached给你一个想法。感谢@Mike Müller将列表编辑成更可读的格式。这是很大的帮助。谢谢@Mike Müllerth这帮了大忙。谢谢@Mike Müller