首页 > 解决方案 > openpyxl - 根据关键字匹配在块中迭代

问题描述

我有一个前段时间编写的xlrd用于解析.xlsx文件的旧脚本,但他们最近停止支持除. 在我之前的脚本中,我会这样做:.xlsopenpyxl

import xlrd

wb = xlrd.open_workbook('path/to/wb.xls')
sheet = wb.sheet_by_name('Sheet 1')
keywords = ['keyword1','keyword2']

for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        if str(sheet.cell_value(row, col).lower() in keywords:
            #do some stuff

我正在努力寻找类似的解决方案openpyxl。这是一组非常难看的工作簿,我使用关键字作为各种分隔符来构建一个更易于使用的 JSON 文件。

目前我有:

import openpyxl

wb = openpyxl.load_workbook('path/to/workbook.xlsx')

sheets = wb.sheetnames

sheet = wb[sheets[0]]
kw_list = ['list','of','keywords']
for row in sheet.iter_rows(min_row=2,max_row=282,min_col=1,max_col=2,values_only=True):
    #skipping the first row because I know they all have non-important data
    tkey = row[0]
    tval = row[1]

    #some more logic down here that isnt relevant to the question

理想情况下,每次迭代都会给我一些单元格及其值,然后我会将它们发送到更大的字典。我想从停用词到停用词逐块迭代,但我正在努力寻找一种方法。

标签: pythonopenpyxl

解决方案


推荐阅读