我有两个csv文件:一个带有收单行(银行名称)列表,另一个带有类似但略有错误的银行名称列表。我使用Fuzzywuzzy程序包找到了最相似的前五个程序,但想使用pool函数来加快速度。这是我到目前为止的内容:
#fuzzy match
def f(acquirers):
row=[]
d=[]
len(acquirers)
for i in acquirers:
matches=[i]
match = process.extract(i, banknames, limit=5,scorer=fuzz.token_set_ratio)
for j in match:
matches.append(j[0])
row.append(matches)
d.append(row)
return d
def f_mp(acquirers):
chunks = [acquirers[i::5] for i in range(93)]
pool = Pool(processes=5)
d = pool.map(f, chunks)
return d
d = f_mp(acquirers)
print(d)
columns = ['Acquirer name', '1', '2', '3', '4', '5']
#final dataframe
df=pd.DataFrame(data=d, columns= columns)
#export dataframe to csv
df.to_csv('terminateme.csv', index=False)
但是每次我打印而不是在每个单元格中打印每个名称时,所有6个(包括银行名称)都将在每个csv单元格中打印。我不断收到错误消息,说数据列与数据不匹配