python查找excel中内容_Python 根据关键字查找xls单元格内容

必要的第三方库:xlrd

功能:根据传入的关键字来检索xls,读取关键字所在的单元格相邻单元格的内容。仅能处理xls。

用法:excel_read(需要查找单元格内容的xls文件路径,检索关键字(只接受list),是否检查(布尔值))

返回一个dict:{检索关键字1:值1,检索关键字2:值2,检索关键字3:值3,....}

如果没有检索到关键字,那么就不会存在dict中,可以在使用的时候添加check=True,则未能检索到关键时会向dict添加一个检索关键字:Miss的元素。

如果一个xls中有多个相同的关键字,则只会获取最后的关键字所在的单元格。

import xlrd

def excel_read(excel_path: str, keywords:list, check=False):

# 根据关键字读取xls中相应的数据

ProjectInfo = {} # 定义字典

workbook = xlrd.open_workbook(excel_path) # 打开xls

worksheets = workbook.sheet_names() # 获取全部的工作表

for sheet in worksheets: # 遍历所有工作表

worksheet = workbook.sheet_by_name(sheet)

row_count = worksheet.nrows

col_count = worksheet.ncols

# 遍历决算认定书每个表的所有单元格,根据关键字提取旁边单元格的数据

for row_index in range(row_count): # 遍历所有行

for col_index in range(col_count): # 遍历所有列

cell_value = str(worksheet.cell_value( # 获取单元格值

row_index, col_index)).strip()

for keystr in keywords: # 遍历所有关键字

if keystr == cell_value: # 对比关键字和单元格值

ProjectInfo[keystr] = ( str(worksheet.cell_value(row_index, col_index + 1)).strip())

if check == True:

v = 0

for words in keywords:

if words not in ProjectInfo:

v += 1

ProjectInfo[words] = str(v)+'.Miss'+words

return ProjectInfo

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值