Python实现提取Excel指定关键词的行数据

目录
  • 一、需求描述
    • 1.图片展示
    • 2.提取方法
  • 二、python提取第二版
    • 1.图片展示
    • 2.提取方法

一、需求描述

1.图片展示

从如图所示的数据中提取含有"python"、"ubuntu"关键词的所有行数据,其它的不提取:

备注: 关键词和数据行列数可自定义!!!

提取前:

提取后:

2.提取方法

代码如下(示例):

import xlrd
import xlwt

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)

count = 0
keyword = ('python')
keyword1 = ('ubuntu')  #可添加多个关键词
for i in range(0,40):  #区域按数据包含的行数进行填写,过多会显示超出范围(out of range)
    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 += 1
print (count)
wbook.save(r'medicaldata.xls')

缺点:需要手动删除空白,容易出现超出范围错误!!

二、python提取第二版

1.图片展示

提取前:

提取后:

2.提取方法

代码如下(示例):

import os
import xlwt
import xlrd
from openpyxl import load_workbook

##目的文件夹
dirpath=r'E:\py\python3.7\test\test89tiqu'
keyword='python'

##遍历函数
def files(dirpath, suffix=['.xls', 'xlsx']):
    for root ,dirs ,files in os.walk(dirpath):
        for name in files:
            if name.split('.')[-1] in suffix:
                yield os.path.join(root, name)

if __name__ == '__main__':

    jieguo = xlwt.Workbook(encoding="ascii")  #生成excel
    wsheet = jieguo.add_sheet('sheet name') #生成sheet
    y=0 #生成的excel的行计数
    try:
        file_list = files(dirpath)
        for filename in file_list:
            workbook = xlrd.open_workbook(filename) #读取源excel文件
            print(filename)
            sheetnum=workbook.nsheets  #获取源文件sheet数目
            for m in range(0,sheetnum):
                sheet = workbook.sheet_by_index(m) #读取源excel文件第m个sheet的内容
                nrowsnum=sheet.nrows  #获取该sheet的行数
                for i in range(0,nrowsnum):
                    date=sheet.row(i) #获取该sheet第i行的内容
                    for n in range(0,len(date)):
                        aaa=str(date[n]) #把该行第n个单元格转化为字符串,目的是下一步的关键字比对
                        print(aaa)
                        if aaa.find(keyword)>0: #进行关键字比对,包含关键字返回1,否则返回0
                            y=y+1
                            for j in range(len(date)):
                                wsheet.write(y,j,sheet.cell_value(i,j)) #该行包含关键字,则把它所有单元格依次写入入新生成的excel的第y行
        jieguo.save('jieguo.xls') #保存新生成的Excel
    except Exception as e:
        print(e)

    jieguo.save('jieguo.xls') #保存新生成的Excel

到此这篇关于Python实现提取Excel指定关键词的行数据的文章就介绍到这了,更多相关Python提取Excel行数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现对excel进行数据剔除操作实例

    前言 学习Python的过程中,我们会遇到Excel的各种问题.下面这篇文章主要给大家介绍了关于python对excel进行数据剔除操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. Python解析Excel时需要安装两个包,分别是xlrd(读excel)和xlwt(写excel),安装方法如下: pip install xlrd pip install xlwt 需求分析: 判断excel2表中的某个唯一字段是否满足条件,如果满足条件,就在excel1中进行查询

  • python 读取txt中每行数据,并且保存到excel中的实例

    使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数据写入到excel中 ''' ################# #第一次执行的代码 import xlwt #写入文件 import xlrd #打开excel文件 fopen=open("e:\\a\\bb\\a.txt",'r') lines=fopen.readlines() #新

  • python读取excel指定列数据并写入到新的excel方法

    如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据--------------------------------- fileName="C:\\Users\\st\\Desktop\\test\\20170221131701.xlsx" bk=xlrd.open_workbook(fileName) shxrange=range(bk.nsheets) try: sh=bk.sheet

  • python 删除excel表格重复行,数据预处理操作

    使用python删除excel表格重复行. # 导入pandas包并重命名为pd import pandas as pd # 读取Excel中Sheet1中的数据 data = pd.DataFrame(pd.read_excel('test.xls', 'Sheet1')) # 查看读取数据内容 print(data) # 查看是否有重复行 re_row = data.duplicated() print(re_row) # 查看去除重复行的数据 no_re_row = data.drop_d

  • python pandas库读取excel/csv中指定行或列数据

    目录 引言 1.根据index查询 2.已知数据在第几行找到想要的数据 3.根据条件查询找到指定行数据 4.找出指定列 5.找出指定的行和指定的列 6.在规定范围内找出符合条件的数据 总结 引言 关键!!!!使用loc函数来查找. 话不多说,直接演示: 有以下名为try.xlsx表: 1.根据index查询 条件:首先导入的数据必须的有index 或者自己添加吧,方法简单,读取excel文件时直接加index_col 代码示例: import pandas as pd #导入pandas库 ex

  • Python实现提取Excel指定关键词的行数据

    目录 一.需求描述 1.图片展示 2.提取方法 二.python提取第二版 1.图片展示 2.提取方法 一.需求描述 1.图片展示 从如图所示的数据中提取含有"python"."ubuntu"关键词的所有行数据,其它的不提取: 备注: 关键词和数据行列数可自定义!!! 提取前: 提取后: 2.提取方法 代码如下(示例): import xlrd import xlwt data = xlrd.open_workbook(r'shuju.xlsx') rtable =

  • python提取包含关键字的整行数据方法

    问题描述: 如下图所示,有一个近2000行的数据表,需要把其中含有关键字'颈廓清术,中央组(VI组)'的数据所在行都都给抽取出来,且提取后的表格不能改变原先的顺序. 问题分析: 一开始想用excel的筛选功能,但是发现只提供单列筛选,由于关键词在P,S,V,Y,AB列都有,故需要筛选5次.但是筛选完后再整合再一起的表格顺序就乱了,而原先的表格排序规律不可知,无法通过简单的排序实现.于是决定用Python写个代码来解决这个问题~ python生成的表格是这个样子滴^_^那些空白的行就是不符合要求的

  • 使用Python脚本提取基因组指定位置序列

    引言 在基因组分析中,我们经常会有这么一个需求,就是在一个fasta文件中提取一些序列出来.有时这些序列是一段完整的序列,而有时仅仅为原fasta文件中某段序列的一部分.特别是当数据量很多时,使用肉眼去挑选序列会很吃力,那么这时我们就可以通过简单的编程去实现了. 例如此处在网盘附件中给定了某物种的全基因组序列(0-refer/ Bacillus_subtilis.str168.fasta),及其基因组gff注释文件(0-refer/ Bacillus_subtilis.str168.gff).

  • python 实现在Excel末尾增加新行

    实例如下所: import os import xlrd import xlwt from xlutils.copy import copy def excelwrite(L=None): if L is None: L = [] print(L) filename = r'wldata.xls' workbook = xlrd.open_workbook(filename, formatting_info=True) sheet = workbook.sheet_by_index(0) row

  • python 读txt文件,按‘,’分割每行数据操作

    按行读取TXT文件 fname = './新建文件夹/yob2010.txt' //文件夹路径 with open(fname,'r+',encoding='utf-8') as f: for line in f.readlines(): //按行读取每行 print(line[:-1].split(',')) //切片去掉换行符,再以','分割字符串 ,得到一个列表 s = [i[:-1].split(',') for i in f.readlines()] //列表生成器,将文件每行数据按上

  • python按列索引提取文件夹内所有excel指定列汇总(示例代码)

    目录 前言 一.情景描述 二.python汇总 总结 前言 一.情景描述 情景一:文件夹内有很多excel数据,包含的数据格式一样,我们需要提取每个文件中指定的几列数据汇总到一个文件中(因为是按列索引提取,所以列的顺序可以不一样) 汇总后: 二.python汇总 注意事项: 文件所在文件夹内只能有运行文件.py,和需要汇总的文件,不能有其它文件夹,否则会出现运行错误: 运行第二遍时需要将第一遍运行得到的结果文件res.xlsx删除,否则也会出现运行错误: 代码如下(示例): # -*- codi

  • Python读取excel指定列生成指定sql脚本的方法

    需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01和A.02字段,需要将这两个字段替换到下面的sql语句中, update A set A.01 = 'excel第一列的值' where A.02 = 'excel第二列的值' 虽然excel中公式写好了,但是还需要将总计的那行复制粘贴到txt文档中,所以索性太麻烦,果断用Python写了一个自动化

  • python实现xlwt xlrd 指定条件给excel行添加颜色

    先用xlrd读excel文件-->book对象a 拿到指定的sheet页 xlrd对象 用xlutils copy 的copy方法复制 a得到b 通过判断a的列值,来修改b 保存b 得到结果 之前也有试过直接用xlwt 来操作sheetwork对象,来实现给指定行添加颜色的操作,由于能力有限,最终没有找到合适的方法,最终换了个方法 先读出来,因为workbook对象可以拿到行数 和对列操作,筛选关键字比较方便,所以上边代码就是一个demo,但是这个方法还是有弊端的,我把dataframe导出到e

  • python多进程提取处理大量文本的关键词方法

    经常需要通过python代码来提取文本的关键词,用于文本分析.而实际应用中文本量又是大量的数据,如果使用单进程的话,效率会比较低,因此可以考虑使用多进程. python的多进程只需要使用multiprocessing的模块就行,如果使用大量的进程就可以使用multiprocessing的进程池--Pool,然后不同进程处理时使用apply_async函数进行异步处理即可. 实验测试语料:message.txt中存放的581行文本,一共7M的数据,每行提取100个关键词. 代码如下: #codin

  • Python实现提取XML内容并保存到Excel中的方法

    本文实例讲述了Python实现提取XML内容并保存到Excel中的方法.分享给大家供大家参考,具体如下: 最近做一个项目是解析XML文件,提取其中的chatid和lt.timestamp等信息,存到excel里. 1.解析xml,提取数据 使用python自带的xml.dom中的minidom(也可以用lxml) xml文件如下: minidom.parse()#解析文件,返回DOM对象 _get_documentElement()DOM是树形结构,获得了树形结构的根节点 getElements

随机推荐