用python实现:提取同一行相邻单元格1、单元格2内文本的关键词,形成各自的关键词列表;然后计算单元格2文本的关键词列表中的关键词是否有不在单元格1文本的关键词列表中的,将结果写入单元格3
时间: 2024-05-10 08:20:18 浏览: 4
假设我们有一个Excel文件,其中第一列是单元格1,第二列是单元格2,第三列是单元格3。我们可以使用openpyxl库来读取和写入Excel文件,使用jieba库来进行中文分词和关键词提取。
以下是代码实现:
```python
import openpyxl
import jieba
# 读取Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
worksheet = workbook.active
# 定义停用词列表,可根据需要添加或修改
stop_words = ['的', '了', '是', '在', '和', '有', '不', '我', '你', '他', '她', '我们', '你们', '他们']
# 遍历每行数据
for row in worksheet.iter_rows(min_row=2, values_only=True):
# 提取单元格1和单元格2的文本
text1 = str(row[0])
text2 = str(row[1])
# 分别对单元格1和单元格2进行中文分词和关键词提取
keywords1 = [word for word in jieba.cut(text1) if word not in stop_words]
keywords2 = [word for word in jieba.cut(text2) if word not in stop_words]
# 计算单元格2的关键词是否有不在单元格1的关键词列表中的
result = False
for word in keywords2:
if word not in keywords1:
result = True
break
# 将结果写入单元格3
worksheet.cell(row=row[0].row, column=3, value=result)
# 保存Excel文件
workbook.save('example.xlsx')
```
以上代码实现了对Excel文件中每行数据的处理,包括分别提取单元格1和单元格2的关键词列表,并计算单元格2的关键词是否有不在单元格1的关键词列表中的。最后将结果写入单元格3中,并保存Excel文件。