最近有小伙伴问了小编一个非常有趣的问题,就是现在有一个Excel表,需要根据关键词来取出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数据”的全部内容了,希望对你有所帮助 。
推荐阅读
- Anaconda怎么创建虚拟环境?Windows下Anaconda创建Python虚拟环境的教程
- Python如何从列表中取值?Python利用索引从列表中取值的方法
- Python的if语句中有多个条件怎么用?Python中if有多个条件的处理方法
- Python2.x与Python3.x版本有哪些不同?Python2.x与Python3.x版本的区别在哪?
- Python判断孪生素数怎么做?Python如何判断一个数是否为孪生素数
- 摆地摊如何挣钱
- Python如何制作图像的浮雕效果?Python图像怎么添加浮雕特效
- Python如何调用c++编写的代码?Python怎么使用C语言方法
- Python字符串如何转为bytes对象?Python字符串和bytes类型怎么互转
- Python图像拼接代码是什么?Python怎么拼接两个图像