我想要的例子是:
import re
name = 'abc' # keywords
text = '''abc,abc。fghj''' # text
results = re.findall(r'[^。]*?{}[^。]*?。'.format(name), text)
for i, r in enumerate(results, 1):
print(i,r)
print(results)
输出:
1 abc,abc。
['abc,abc。']
但我的数据是要匹配的Excel列表:
我的代码如下:
import re
import pandas as pd
#read excel
ecn_excel = pd.read_excel('ECN.xls')
#data frame
ecn_data = pd.DataFrame(ecn_excel)
ecn_data = ecn_data.dropna(subset=['Attribute Values'], inplace=False)
data = ecn_data.drop('Keywords', axis=1).join(ecn_data['Keywords'].str.split('|', expand=True).stack().reset_index(level=1, drop=True).rename('Keywords'))
#match value
match = str(ecn_data['Attribute Values'])
keywords = str(data['Keywords'])
#results = re.findall(r'[^。]*?{}[^。]*?。'.format(data['Keywords'], ecn_data['Attribute Values'])
results = re.findall(r'[^。]*?{}[^。]*?。'.format(keywords), match)
for i, r in enumerate(results, 1):
print(i,r)
当然,这段代码不起作用,因为我不知道如何修改它,使之成为一个匹配的excel列表
目前没有回答
相关问题 更多 >
编程相关推荐