我需要匹配文本中的某些值。
值存在于单独列标题下的csv中,如果值匹配,我需要将其保存为{column_header1:[Value1], column_header2:[Value3]...}
形式
所以我需要保存找到的最后一场比赛
我必须从中提取值的查找csv是具有列和行的数据框,某些行在列下为空
查找示例如下
要搜索的文本可以是任何内容
示例-
"hello, my iphone and pixel phones are damage due to water, please help me in service1 or service"
这就是我尝试过的
def extractor(text):
columns = list(cf_lookup.columns[::2])
for i in cf_lookup[columns].iteritems():
x = cf_lookup[columns]
x = x.fillna('0')
critical_values ={}
for i in range(0,x.shape[1]):
for j in range(0,x.shape[0]):
pattern = x.iloc[j][i]
if(pattern != '0'):
r1 = re.findall(r'\b' + str(pattern) +r'\b',text,re.I)
r1 = list(set(r1))
critical_values.update({columns[i]:r1})
elif(pattern == '0'):
empty.append('0')
return critical_values
我每次在column_header前面都得到空白值
{'Request Type': [ ],
'Product': [ ],
'Manufacturer': [ ],
'Part': [ ],
'Model': [ ],
'Problem': [],
'Resolution': [ ]}
空白处应该没有匹配项。
预期输出应为
{'Request Type': [ Service1'],
'Product': ['Pixel'],
'Manufacturer': [],
'Part': [ ],
'Model': [ ],
'Problem': ['Water'],
'Resolution': [ ]}
任何建议或更正将不胜感激。