Python如何根据关键词取出Excel行数据?Python怎么用关键词查找Excel数据

最近有小伙伴问了小编一个非常有趣的问题,就是现在有一个Excel表,需要根据关键词来取出Excel表中包含了该关键词的行数据 。那么下面会来以详细的代码示例讲解一下该问题如何实现,感兴趣的话就和小编一起往下看看吧 。

Python如何根据关键词取出Excel行数据?Python怎么用关键词查找Excel数据

文章插图
1.首先需要来分析一下这个问题的需求,将其拆解开来看就是,只要在单元格内有这个关键词,那么一整行的数据都是要被取出来 。行操作就很好解决了,先导入xlrd以及xlwt两个模块 。因为取出数据后还是需要写入的,示例如下:
import xlrdimport xlwt2.然后调用读取Excel表格的模块将其打开,并且使用sheet[]切片的方式得到其中某一个工作薄的对象 。然后再调用Workbook方法构建出来一个新的Excel对象,并且创建一个工作簿 。这样数据读取和写入的对象都实例化完成了,代码如下所示:
data = xlrd.open_workbook(r'shuju.xlsx')rtable = data.sheets()[0]wbook = xlwt.Workbook(encoding='utf-8',style_compression = 0)wtable = wbook.add_sheet('sheet1',cell_overwrite_ok = True)3.第三步要做的就是定义变量count来作为取出数据的总行数,然后定义变量来保存关键词,示例如下:
count = 0keyword = ('python')keyword1 = ('c++')4.这一步就是整个方法的关键了,使用for循环进行迭代,迭代的次数由该Excel表格工作簿的总行数或者小于其的数字来决定 。在循环中判断每一个单元格的值是否等于关键字,而单元格值可以通过cell(I,2)方法获取,意思就是第几行二列 。
判断成功之后还是要去进行循环,这次循环的次数就是由sheet的列数决定 。循环之中将取出来的数据写入到新建的Excel对象内,最后将其给保存为Excel文件即可,详细代码如下所示:
for i in range(0,40):if rtable.cell(i,2).value == keyword or rtable.cell(i,3).value == keyword or rtable.cell(i,4).value == keyword or rtable.cell(i,5).value == keyword or rtable.cell(i,2).value == keyword1 or rtable.cell(i,3).value == keyword1 or rtable.cell(i,4).value == keyword1 or rtable.cell(i,5).value == keyword1:        for j in range(0,5):            wtable.write(i,j,rtable.row_values(i)[j])        count += 1wbook.save(r'medicaldata.xls')【Python如何根据关键词取出Excel行数据?Python怎么用关键词查找Excel数据】以上就是关于“Python如何根据关键词取出Excel行数据?Python怎么用关键词查找Excel数据”的全部内容了,希望对你有所帮助 。

    推荐阅读