当前位置:首页 > 科技  > 软件

Python办公神器:教你使用Python批量查找Excle数据

来源: 责编: 时间:2024-01-22 17:23:38 277观看
导读有时候我们需要对Excel中的数据进行一些复杂的操作,比如批量查找、筛选、合并等,这时候用Python就可以大大提高我们的效率和准确性。在本教程中,我们将学习如何使用Python的openpyxl库来批量查找Excle数据。openpyxl是一

有时候我们需要对Excel中的数据进行一些复杂的操作,比如批量查找、筛选、合并等,这时候用Python就可以大大提高我们的效率和准确性。0yL28资讯网——每日最新资讯28at.com

在本教程中,我们将学习如何使用Python的openpyxl库来批量查找Excle数据。openpyxl是一个专门用来处理Excel文件的Python库,它可以读取和写入Excel文件,以及对Excel文件中的数据进行各种操作。我们将通过一个具体的例子来演示openpyxl库的使用方法和api用途。0yL28资讯网——每日最新资讯28at.com

0yL28资讯网——每日最新资讯28at.com

例子:批量查找档案记录

假设我们有一个Excel文件,里面存储了一些档案记录,每个档案都有一个名称、配置、提交日期等信息。这个Excel文件有多个工作表sheet,每个sheet代表了一个月份,比如1月、2月、3月等。我们现在想要把所有日期工作表中的特定行都提取出来整合成一个新表,比如我们想要查找所有名称为“张三”的档案记录,并把它们放到一个新的Excel文件中。0yL28资讯网——每日最新资讯28at.com

0yL28资讯网——每日最新资讯28at.com

这个任务用Python和openpyxl库就可以很容易地实现。我们只需要按照以下步骤来操作:0yL28资讯网——每日最新资讯28at.com

步骤一:导入openpyxl库

首先,我们需要导入openpyxl库,这样我们才能使用它提供的功能。我们可以用下面的代码来导入openpyxl库:0yL28资讯网——每日最新资讯28at.com

import openpyxl

步骤二:加载Excel文件

接下来,我们需要加载我们要处理的Excel文件,也就是档案记录Excel文件。我们可以用openpyxl库中的load_workbook函数来加载Excel文件,并返回一个Workbook对象。Workbook对象代表了整个Excel文件,它包含了所有的工作表sheet和其他信息。我们可以用下面的代码来加载Excel文件,并把返回的Workbook对象赋值给一个变量wb:0yL28资讯网——每日最新资讯28at.com

wb = openpyxl.load_workbook('档案记录.xlsx')

注意,这里的'档案记录.xlsx'是我们要处理的Excel文件的名称,你需要根据你自己的文件名来修改。0yL28资讯网——每日最新资讯28at.com

步骤三:创建一个新的工作簿

然后,我们需要创建一个新的工作簿Workbook对象,用来存放我们提取出来的数据。我们可以用openpyxl库中的Workbook函数来创建一个新的工作簿,并返回一个Workbook对象。我们可以用下面的代码来创建一个新的工作簿,并把返回的Workbook对象赋值给一个变量new_wb:0yL28资讯网——每日最新资讯28at.com

new_wb = openpyxl.Workbook()

步骤四:创建一个新的工作表

接着,我们需要在新创建的工作簿new_wb中创建一个新的工作表sheet,用来存放我们提取出来的数据。我们可以用Workbook对象中的create_sheet方法来创建一个新的工作表,并返回一个Worksheet对象。Worksheet对象代表了一个单独的工作表sheet,它包含了所有的单元格cell和其他信息。我们可以用下面的代码来创建一个新的工作表,并把返回的Worksheet对象赋值给一个变量new_ws:0yL28资讯网——每日最新资讯28at.com

new_ws = new_wb.create_sheet('提取结果')

注意,这里的'提取结果'是我们创建的新工作表的名称,你可以根据你自己的需求来修改。0yL28资讯网——每日最新资讯28at.com

步骤五:复制表头

然后,我们需要把原来的Excel文件中的表头复制到新创建的工作表中,也就是把第一行的数据复制过来。我们可以用Worksheet对象中的append方法来向工作表中添加一行数据,这个方法接受一个列表作为参数,列表中的每个元素代表了一列的数据。我们可以用下面的代码来复制表头:0yL28资讯网——每日最新资讯28at.com

# 获取原来Excel文件中的第一个工作表ws = wb.worksheets[0]# 获取第一行的数据header = [cell.value for cell in ws[1]]# 向新创建的工作表中添加一行数据new_ws.append(header)

注意,这里我们假设所有的工作表sheet都有相同的表头,所以我们只需要获取第一个工作表中的第一行数据即可。如果你的Excel文件中的工作表有不同的表头,你需要根据你自己的情况来修改。0yL28资讯网——每日最新资讯28at.com

步骤六:遍历所有工作表和单元格

接下来,我们需要遍历原来Excel文件中的所有工作表sheet,再遍历每个工作表中的第一列(名称列,也可以看作A列)每一个有数据的单元格cell,对单元格中的内容进行判断,如果单元格中的文字为我们需要查找的档案名,就把这一行提取出来放到新创建的工作表中。我们可以用下面的代码来遍历所有工作表和单元格:0yL28资讯网——每日最新资讯28at.com

# 遍历原来Excel文件中的所有工作表for ws in wb.worksheets:    # 遍历每个工作表中第一列每一个有数据的单元格    for cell in ws['A']:        # 判断单元格中的内容是否为我们需要查找的档案名,比如“张三”        # 获取单元格所在的行号        row = cell.row        # 根据行号获取这一行的数据        data = [cell.value for cell in ws[row]]        # 向新创建的工作表中添加一行数据        new_ws.append(data)

注意,这里我们假设我们要查找的档案名是“张三”,你可以根据你自己的需求来修改。0yL28资讯网——每日最新资讯28at.com

步骤七:保存新创建的工作簿

最后,我们需要把新创建的工作簿new_wb保存到一个新的Excel文件中,这样我们就可以查看我们提取出来的数据了。我们可以用Workbook对象中的save方法来保存工作簿,这个方法接受一个文件名作为参数,表示要保存的Excel文件的名称。我们可以用下面的代码来保存工作簿:0yL28资讯网——每日最新资讯28at.com

new_wb.save('提取结果.xlsx')

注意,这里的'提取结果.xlsx'是我们要保存的Excel文件的名称,你可以根据你自己的需求来修改。0yL28资讯网——每日最新资讯28at.com

总结

通过以上七个步骤,我们就完成了使用Python和openpyxl库批量查找Excle数据的任务。我们可以打开'提取结果.xlsx'文件,看到我们提取出来的所有名称为“张三”的档案记录。0yL28资讯网——每日最新资讯28at.com

通过这个例子,我们学习了如何使用openpyxl库中的一些常用的函数和方法,比如load_workbook、Workbook、create_sheet、append、save等。openpyxl库还有很多其他的功能,比如修改单元格样式、插入公式、添加图表等,你可以参考openpyxl官方文档来进一步学习和探索。0yL28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-66192-0.htmlPython办公神器:教你使用Python批量查找Excle数据

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 管理弃用的Kubernetes API:优秀实践和工具

下一篇: Python中zoneinfo模块的用法

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 小米降噪蓝牙耳机Necklace分享:听一首歌 读懂一个故事

    在今天下午的小米Civi 2新品发布会上,小米还带来了一款新的降噪蓝牙耳机Necklace,我们也在发布结束的第一时间给大家带来这款耳机的简单分享。现在大家能见到最多的蓝牙耳机
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
  • 微软发布Windows 11新版 引入全新任务栏状态

    近日,微软发布了Windows 11新版,而Build 22563更新主要引入了几周前曝光的平板模式任务栏等,系统更流畅了。更新中,Windows 11加入了专门针对平板优化的任务栏
Top