当前位置: 首页 > news >正文

python实现excel的数据提取

一文带你实现excel表格的数据提取

今天记录一下如何使用python提取Excel中符合特定条件的数据

数据处理和分析的过程中,我们经常需要从Excel表格中提取特定条件下的数据。Python的pandas库为我们提供了方便的方法来进行数据查询和过滤

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

  • Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构数据分析工具。
  • Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。
  • Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。
  • Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
  • Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
  • Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

Pandas应用

Pandas 的主要数据结构是 **Series (一维数据)**与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

01.简单数据类型的提取

序号ab
11.52.8
23.24.7
32.13.6
44.31.9
54.13.2

要求:提取a,b两列中介于2.5到5之间的数据

使用query方法提取数据

首先,我们将使用query方法来提取符合条件的数据。query方法允许我们使用类似SQL的语法进行数据查询。

代码如下:
import pandas as pd# 读取Excel表格
df = pd.read_excel('data.xlsx')  # 将'data.xlsx'替换为你的文件路径# 使用query方法进行查询
query_string = '2.5 < x < 5 and 2.5 < y < 5'
filtered_data = df.query(query_string)# 打印提取的数据
print(filtered_data)

02.复杂数据类型的数据提取

如下是一个包含70+sheet表单excel工作簿,现在要求从该excel中抽取特定的数据列到新表
在这里插入图片描述

话不多说,直接上代码
import pandas as pd
import openpyxlwb = openpyxl.Workbook()# 获取默认工作表
ws = wb.active# 读取原始Excel文件
# df = pd.read_excel('SA.xlsx')
df = pd.read_excel('SA.xlsx', sheet_name=['RCD', 'RPC','RCM','MCV_S','MCV_C','CFV','GCM','SGCS','SGCC','GCSB','GCC_S','GCC','MOV_SO','MOV_SC','MOV_N','MNV_C','BSV_C','MSV_CSC','MSV_CLC','MSV_CLO','CAH_N','BAH_N','BAH_L','BAH_OT','MOS_T','MOS_C','MOS_N','MOS_L','NOPDS','ALA_P','AVIE','SLT8','SLT4','BOOLS','REALS','EPS','SA','KG','TRAN','SETP','PID','NSD','DV','AMI','DCO','ACO','DCI','ACI6','ACI4','ACI','DM','AM4','AM','SOE','PVI','DVO','AVO','DVI','AVI8','AVI6','AVI4','AVI'])# 创建一个新的Excel文件
wb = pd.ExcelWriter('new.xlsx')# 遍历每个sheet
for sheet_name, sheet_data in df.items():# 提取需要的列数据columns_to_extract = [ 'PN','SN']if all(column in sheet_data.columns for column in columns_to_extract):extracted_data = sheet_data[columns_to_extract]# 将提取的数据写入新的Excel文件中的对应sheetextracted_data.to_excel(wb, sheet_name=sheet_name, index=False)extracted_data.to_excel('new.xlsx', index=False)df_extracted = pd.read_excel('new.xlsx', sheet_name=None,engine='openpyxl')# 创建一个新的Excel写入器
writer = pd.ExcelWriter('merged_1023.xlsx')# 遍历抽取的Excel的每个sheet
for sheet_name, df_sheet in df_extracted.items():# 将每个sheet写入新的Excel中df_sheet.to_excel(writer, sheet_name, index=False)# 保存并关闭新的Excel
writer.close()
wb.close()

详细的注释已经写在上面,可以根据自己的需求和条件选择相应的文件进行数据提取

合并结果如下:

在这里插入图片描述

相关文章:

python实现excel的数据提取

一文带你实现excel表格的数据提取 今天记录一下如何使用python提取Excel中符合特定条件的数据 在数据处理和分析的过程中&#xff0c;我们经常需要从Excel表格中提取特定条件下的数据。Python的pandas库为我们提供了方便的方法来进行数据查询和过滤。 Pandas 是 Python 语言…...

Vue的MVVM实现原理

目录 前言 用法 代码和效果图 效果图 理解 高质量的使用 前言 MVVM是Model-View-ViewModel的缩写&#xff0c;是一种软件架构设计模式。Vue.js实现了这种设计模式&#xff0c;通过双向数据绑定和虚拟DOM技术&#xff0c;使得数据和视图能够快速响应彼此的变化。了解Vue的…...

vue+iView 动态侧边栏菜单保持高亮选中

iview 组件在使用过程中&#xff0c;多多少少有一些小坑&#xff0c;本文简单罗列一二&#xff1a; 避坑指南&#xff1a; 关于iview 侧边栏菜单未能展开高亮选中回显问题 应用场景&#xff1a;iview-admin下接入动态菜单后&#xff0c;刷新或链接跳入时回显失效 简单就是两个方…...

标准的听觉检测环境应满足哪些条件?

作者&#xff1a;兰明 医 学硕士&#xff0c;听力学 博士&#xff0c;听觉健康 门诊 主任。 听觉功能检测是一个计量的过程。国际和国家规定计量需要有一个标准的环境。目前有以下几种与听觉功能检测环境相关的国家标准或 /和国际标准&#xff1a; 1.《声学测听方法第1部…...

Fabric.js 样式不更新怎么办?

本文简介 带尬猴&#xff0c;我嗨德育处主任 不知道你有没有遇到过在使用 Fabric.js 时无意中一些骚操作修改了元素的样式&#xff0c;但刷新画布却没更新元素样式&#xff1f; 如果你也遇到同样的问题的话&#xff0c;可以尝试使用本文的方法。 是否需要重新绘制 我先举个例…...

【优选算法精品】前缀和

文章目录 一、前缀和前缀和问题一维前缀和模板二维前缀和模板 细节处理题目1思路细节处理&#xff1a; 题目2思路 题目3题目4题目5题目6总结 一、前缀和 前缀和问题 前缀和用来快速解决某一段连续区间的和。 时间复杂度O(1) 注意&#xff1a;不要背模板&#xff0c;不要背模…...

应用案例|基于高精度三维机器视觉引导机器人自动分拣包裹的应用

Part.1 行业背景 近年来&#xff0c;电商高速发展&#xff0c;百万件日订单处理的超大型分拣中心模式日益普及&#xff0c;传统的人工供包模式效率低&#xff0c;难以满足高超大分拣中心对分拣包裹的需求。随着科技的进步&#xff0c;自动供包系统进入大众视野&#xff0c;成为…...

Vue自定义指令实现按钮级的权限控制

通过v-指令&#xff0c;控制页面上的权限按钮的显示隐藏。首先是我的权限按钮数据&#xff0c;通过登录接口后端返回&#xff0c;前端将数据存在vuex里&#xff0c;在调用指令时候获取到当前页面对应的按钮权限数组&#xff0c;通过v-指令传递标识判断是否在当前页按钮权限数组…...

Selenium实现自动登录163邮箱和Locating Elements介绍

一. Selenium自动登录 代码如下所示: from selenium import webdriver from selenium.webdriver.common.keys import Keys import time #模拟登陆163邮箱 driver = webdriver.Firefox() driver.get("http://mail.163.com/") #用户名 密码 elem_user = …...

uniapp vue2、vue3 页面模板代码块设置

本文分享 uniapp vue2、vue3 页面模板代码块设置 设置路径 HBuilder X -> 工具 -> 代码块设置 -> vue代码块 -> 自定义代码块 如上图操作后在打开的 vue.json 文件的右侧“自定义代码块”中复制如下代码&#xff08;可全选替换也可添加到代码中&#xff09; 示…...

解决Linux下编译Intel oneTBB动态库出错的问题

在CMakeLists.txt中&#xff0c;原来有一段这样查找和链接的配置代码 find_library(tbblibaray ${tbb_path}) target_link_libraries(backalarm ${tbblibaray})编译后提示错误&#xff1a; /myapp/library/tbb/libtbb.so&#xff1a;对‘__cxa_throw_bad_array_new_lengthCX…...

分布式日志和链路追踪

分布式日志 实现思路 分布式日志框架服务的实现思路基本是一致的&#xff0c;如下&#xff1a; 日志收集器&#xff1a;微服务中引入日志客户端&#xff0c;将记录的日志发送到日志服务端的收集器&#xff0c;然后以某种方式存储数据存储&#xff1a;一般使用ElasticSearch分…...

el-select multiple表单校验问题

el-select multiple表单校验问题 <el-form refform :modelform><el-form-item propvulTypes label漏洞类型><el-select v-modelform.vulTypes changevulTypeChange><el-option v-foritem in vulList :keyitem :labelitem :valueitem></el-option&g…...

论文阅读——BART

Arxiv: https://arxiv.org/abs/1910.13461 一个去噪自编码器的预训练序列到序列的模型。是一个结合了双向和自回归transformers的模型。 预训练分为两个阶段&#xff1a;任意噪声函数破坏文本和序列模型重建原始文本 一、模型 input&#xff1a;被破坏的文本-->bidirecti…...

InstructionGPT

之前是写在[Instruction-tuning&#xff08;指令微调&#xff09;]里的&#xff0c;抽出来单独讲一下。 基本原理 在做下游的任务时&#xff0c;我们发现GPT-3有很强大的能力&#xff0c;但是只要人类说的话不属于GPT-3的范式&#xff0c;他几乎无法理解。例如&#xff0c;我们…...

电脑视频怎么转音频mp3

如果你在电脑上观看视频时喜欢上某个片段的背景音乐&#xff0c;且想将喜欢的背景音乐制作为手机铃声。我是建议你将此视频转换为 MP3 格式&#xff0c;因为 MP3 几乎与所有设备相兼容&#xff0c;让你可以在不同设备上不受限制地去聆听它。那该如何转换呢&#xff1f;无需担心…...

java 读取pdf文件内容

一、引入maven <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.25</version> </dependency>二、代码工具类 package com.jiayou.peis.utils;//import com.itextpdf.text.pd…...

【linux】安装rpmrebuild

rpmrebuild是一种从已经安装的包中构建RPM文件的工具。它可以用于轻松构建修改后的包&#xff0c;并适用于任何使用RPM的Linux发行版。 访问地址 rpm rebuild download | SourceForge.net 选择版本 版本地址&#xff1a;版本地址 下载安装包 安装 rpm -ivh rpmrebuild-2.15…...

设计模式——访问者模式(Visitor Pattern)+ Spring相关源码

文章目录 一、访问者模式&#xff08;Visitor Pattern&#xff09;二、文字描述三、例子例子一&#xff1a;菜鸟教程对象定义访问者定义使用总结 例子二&#xff1a;Spring的BeanDefinitionVisitor 一、访问者模式&#xff08;Visitor Pattern&#xff09; 行为型模式。 目的&…...

SQL Delete 语句(删除表中的记录)

SQL DELETE 语句 DELETE语句用于删除表中现有记录。 SQL DELETE 语法 DELETE FROM table_name WHERE condition; 请注意删除表格中的记录时要小心&#xff01;注意SQL DELETE 语句中的 WHERE 子句&#xff01; WHERE子句指定需要删除哪些记录。如果省略了WHERE子句&#xff…...

AI智能体任务编排框架:从概念到实战的Mission Control指南

1. 项目概述&#xff1a;为AI智能体打造一个“任务控制中心”最近在折腾AI智能体&#xff08;Agent&#xff09;的开发&#xff0c;发现一个挺普遍的问题&#xff1a;当你想让多个智能体协同工作&#xff0c;或者想让单个智能体执行一系列复杂、有依赖关系的任务时&#xff0c;…...

深入Transformer内部:LoRA到底改动了哪部分权重才让模型“学会”新任务?

深入Transformer内部&#xff1a;LoRA如何通过低秩更新重塑大模型能力 在自然语言处理领域&#xff0c;大型预训练模型的微调一直是个计算密集型任务。传统全参数微调需要更新数十亿甚至数千亿参数&#xff0c;这对大多数研究者和企业来说都是难以承受的负担。低秩适应(LoRA)技…...

如何快速提升游戏帧率:OpenSpeedy游戏加速优化终极指南

如何快速提升游戏帧率&#xff1a;OpenSpeedy游戏加速优化终极指南 【免费下载链接】OpenSpeedy &#x1f3ae; An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 你是否厌倦了游戏卡顿和掉帧&#xff1f;OpenSpeedy是一款…...

使用mcp-maker快速构建AI工具集成服务器:从MCP协议到实践

1. 项目概述&#xff1a;一个为AI应用注入“超能力”的MCP服务器工厂 如果你最近在折腾AI应用开发&#xff0c;特别是想给ChatGPT、Claude这类大模型配上“手和脚”&#xff0c;让它们能操作你的本地文件、查询数据库&#xff0c;甚至控制你的智能家居&#xff0c;那你大概率已…...

Go语言缓存雪崩:防止缓存失效

Go语言缓存雪崩&#xff1a;防止缓存失效 1. 雪崩防护 type CacheWithProtection struct {cache *RedisCachemu sync.Mutexlocks map[string]*sync.Mutex }func NewCacheWithProtection(cache *RedisCache) *CacheWithProtection {return &CacheWithProtect…...

Apache Burr框架:构建可观测有状态数据应用的核心原理与实践

1. 项目概述&#xff1a;一个用于构建和评估数据产品的Python框架如果你正在处理数据密集型应用&#xff0c;比如推荐系统、个性化广告或者任何需要根据用户行为实时调整策略的场景&#xff0c;你肯定遇到过这样的困境&#xff1a;模型训练和离线评估做得再好&#xff0c;一旦上…...

I2C地址冲突全解析:从原理到实战的嵌入式系统设计指南

1. I2C地址&#xff1a;嵌入式系统设计的“门牌号”与“交通规则”如果你玩过单片机或者树莓派&#xff0c;肯定对I2C不陌生。两根线&#xff0c;SDA和SCL&#xff0c;就能挂上一堆传感器、显示屏、扩展芯片&#xff0c;听起来简直是嵌入式开发的“万金油”。但真正上手后&…...

Linux内核C11升级:从C89到现代C语言的演进与挑战

1. 项目概述&#xff1a;一次内核语言的“心脏移植”手术最近Linux内核社区放出了一个重磅消息&#xff0c;未来计划将内核的C语言标准从使用了二十多年的C89/C90&#xff0c;升级到C11。这个消息一出&#xff0c;在开发者圈子里激起的讨论&#xff0c;不亚于当年从Python 2迁移…...

RTKLIB 2.4.3项目在Visual Studio 2019中的工程化配置:告别零散文件,打造清晰结构

RTKLIB 2.4.3项目在Visual Studio 2019中的工程化配置&#xff1a;告别零散文件&#xff0c;打造清晰结构 对于卫星导航领域的开发者而言&#xff0c;RTKLIB无疑是一个绕不开的开源项目。这个由日本学者Tomoji Takasu开发的GNSS定位软件&#xff0c;以其强大的功能和开放的架构…...

VS Code Live Server完全指南:告别手动刷新,拥抱实时开发新时代

VS Code Live Server完全指南&#xff1a;告别手动刷新&#xff0c;拥抱实时开发新时代 【免费下载链接】vscode-live-server Launch a development local Server with live reload feature for static & dynamic pages. 项目地址: https://gitcode.com/gh_mirrors/vs/vs…...