IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> python批量处理excel提取包含指定关键字的行 -> 正文阅读

[开发工具]python批量处理excel提取包含指定关键字的行

python批量处理excel提取包含指定关键字的行

当我们有大量excel表格需要批处理,目标为提取包含指定关键字的行,可用本文代码,环境为windows

python依赖安装

安装好python后,在windows cmd窗口输入

pip install xlrd==1.2.0
pip install openpyxl==3.0.9
pip install xlrd==1.2.0

如果显示没有pip,先安装pip

可复用的批量读取代码

循环遍历,提取dirpath文件夹中的excel文件

##遍历函数
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)

整体代码

使用时修改dirpath和keyword即可,结果文件存在运行目录下的jieguo.xls

import os
import xlwt
import xlrd
from openpyxl import load_workbook

##目的文件夹
dirpath=r'D:\aaaaaaa'
keyword='小张'

##遍历函数
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        
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:49:24  更:2021-11-30 15:49:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:26:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码