请写一段py代码,帮我解决以下问题:我有一个exl表格,表格中有多个sheet,请在所有sheet中检索文本“特瑞普利单抗”,并统计文本“特瑞普利单抗”出现的次数,将结果写入到sheet2中。注意,“特瑞普利单抗”可能是单元格中数据的一部分片段,这样也计入次数。结果的书写方式是每个sheet分别列出。
时间: 2024-02-11 10:04:49 浏览: 143
好的,以下是代码实现:
```python
import openpyxl
# 打开excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 创建Sheet2用于记录结果
sheet2 = workbook.create_sheet('结果')
# 遍历所有sheet
for sheet in workbook.sheetnames:
# 跳过Sheet2
if sheet == '结果':
continue
# 获取当前sheet
current_sheet = workbook[sheet]
# 统计出现次数
count = 0
for row in current_sheet.iter_rows():
for cell in row:
if '特瑞普利单抗' in str(cell.value):
count += 1
# 将结果写入Sheet2
sheet2.cell(row=1, column=1).value = 'Sheet名称'
sheet2.cell(row=1, column=2).value = '出现次数'
last_row = sheet2.max_row + 1
sheet2.cell(row=last_row, column=1).value = sheet
sheet2.cell(row=last_row, column=2).value = count
# 保存结果到excel文件
workbook.save('example.xlsx')
```
代码解析:
1. 使用openpyxl库打开excel文件。
2. 创建一个新的Sheet2用于记录结果。
3. 遍历所有sheet,跳过Sheet2。
4. 在当前sheet中统计“特瑞普利单抗”的出现次数。
5. 将结果写入Sheet2的新行中。
6. 保存结果到excel文件中。
阅读全文