python实现excel的数据提取

news2024/10/5 6:25:19

一文带你实现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 openpyxl


wb = 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文件中的对应sheet
        extracted_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()

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

合并结果如下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录 Day26 贪心 01 全集 LeetCode455 分发饼干 LeetCodeT346摆动序列 LeetCdoe T53 最大子数组和

前言:贪心无套路 本质: 局部最优去推导全局最优 两个极端 贪心算法的难度一般要么特别简单,要么特别困难,所以我们只能多见识多做题,记住无需数学证明,因为两道贪心基本上毫无关系,我们只需要去思考局部最优即可 贪心的小例子 比如有一堆钞票&#xff0c;你可以拿走十张&#x…

vue 生命周期钩子函数 mounted()实例

在挂载后操作dom获取焦点。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…

Maven3.9.2 bug IDEA指定配置文件不生效

Maven3.9.2 bug IDEA指定配置文件不生效 描述 运行新项目需要配置指定的settings.xml文件&#xff0c;一直报错找不到依赖&#xff0c;查看maven日志是从maven中心仓库找的依赖&#xff0c;自然找不到。 解决过程 清理idea缓存&#xff0c;仍然报错 删除/${username}/.m2/…

三分钟实现MQTT协议网关网口连接西门子SMART200PLC上传阿里云服务器

MQTT协议网关网口连接西门子SMART200PLC操作说明v1.4 目录 一. 使用流程 二. 准备工作 2.1 需要准备如下物品 2.2 LF220网关准备工作 2.3 PLC准备工作 2.4 电脑的准备工作 2.5 MQTT服务器准备工作 三. 阿里云IoT平台配置步骤 3.1 创建产品 3.2 添加设备 …

取证之查看本机保存的WiFi密码

一、电脑保存有WiFi密码&#xff0c;且正常连接该WiFi 1、打开网络适配器高级选项 2、双击无线网卡&#xff0c;选择无线属性 3、点击安全&#xff0c;显示字符&#xff0c;即可看到WiFi密码。 二、电脑保存有密码&#xff0c;但是没有链接WiFi。 1、查看wlan接口上的配置文件…

蓝桥杯每日一题0223.10.23

第几天 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 简单枚举&#xff08;用k来记录经过的天数&#xff09; #include<bits/stdc.h> using namespace std; bool is_ren(int n) {if(n % 400 0 || (n % 4 0 && n % 100 ! 0))return true;return false; } int …

推荐微软的开源课程《AI-For-Beginners》

今天给大家推荐一个对新手非常友好的AI入门课程《AI-For-Beginners》。 该课程由微软推出&#xff0c;为期12周&#xff0c;共24课时&#xff0c;对比Google的AI入门课更通俗易懂一些&#xff0c;强烈推荐刚入门的AI小白们学习&#xff01;而且是免费&#xff01;课程资源看文…

Matlab论文插图绘制模板第122期—函数折线图(fplot)

本期分享的是函数折线图的绘制模板。​ 所谓函数折线图&#xff0c;就是将自定义线函数进行可视化表达​。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的…

基于springboot基于会员制医疗预约服务管理系统项目【项目源码+论文说明】

基于springboot实现会员制医疗预约服务信息系统演示 摘要 会员制医疗预约服务管理信息系统是针对会员制医疗预约服务管理方面必不可少的一个部分。在会员制医疗预约服务管理的整个过程中&#xff0c;会员制医疗预约服务管理系统担负着最重要的角色。为满足如今日益复杂的管理需…

Java Spring 通过 AOP 实现方法参数的重新赋值、修改方法参数的取值

AOP 依赖 我创建的项目项目为 SpringBoot 项目 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.3</version></parent><dependency><groupId…

Linux:【Kafka-Java一】Spring实现kafka消息的简单发送

目录 一、创建maven项目 二、引入依赖 三、创建生产者 一、创建maven项目 1.1、创建maven项目不再多说 二、引入依赖 1.1、maven项目创建完成后&#xff0c;需要引入以下依赖 // kafka 依赖<dependency><groupId>org.apache.kafka</groupId><artifact…

GRE MGRE原理与配置

IPSec VPN用于在两个端点之间提供安全的IP通信&#xff0c;但只能加密并传播单播数据无法加密和传输语音、视频、动态路由协议信息等组播数据流量。通用路由封装协议GRE( Generic Routing Encapsulation )提供了将一种协议的报文封装在另一种协议报文中的机制&#xff0c;是一种…

华为云全新上线Serverless应用中心,支持一键构建文生图应用

近日&#xff0c;华为云全新上线Serverless应用中心&#xff0c;提供了大量应用模板&#xff0c;让用户能够一键部署函数和周边依赖资源&#xff0c;节省部署时间&#xff0c;快速上手将应用部署到华为云函数计算FunctionGraph&#xff0c;并一键开通周边依赖资源。 本次Serve…

微信小程序ios页面没有滚动下拉也会出现黑色背景

问题截图&#xff1a; 查了一下资料说有用一下方法解决的&#xff1a; 整体overflow: hidden&#xff0c;页面的内容将无法滚动&#xff08;试了一下没用&#xff09;&#xff1b;设置 -webkit-overflow-scrolling 和 touch-action 样式属性来禁用页面的拖动和拉拽操作&…

底层驱动day4作业

分布注册设备&#xff0c;实现文件和设备的绑定 代码&#xff1a; //head.h #ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_RCC 0x50000A28 #define PHY_GPIOE_MODER 0x50006000 #define PHY_GPIOF_MODER 0x50007000 #define PHY_GPIOE_ODR 0x50006014 #define PHY_GPI…

VR虚拟现实技术在法院技能培训中的应用

开展法治宣传教育&#xff0c;是全面贯彻落实科学发展观的重要决策&#xff0c;也是保障和促进经济设备会发展和实施“十一五”规划的内在要求。为了让全民法治文化宣传深入人们群众中&#xff0c;突破性地采用VR虚拟现实、web3d开发和三维仿真技术&#xff0c;开发线上法治文化…

Git的标签管理

Git标签管理 创建标签操作标签小结 创建标签 在Git中打标签非常简单&#xff0c;首先&#xff0c;切换到需要打标签的分支上&#xff1a; $ git branch $ git checkout master 然后&#xff0c;敲命令git tag 就可以打一个新标签&#xff1a; $ git tag v1.0 可以用命令git …

大一新生必备电脑软件插件有哪些?

毕业老学姐倾情分享珍藏必备软件和浏览器插件&#xff01;拥有后生活明朗&#xff0c;学习效率UPUP&#xff01; 纯干货分享建议【点赞收藏】后观看 速览 Office全家桶-Word、Excel、Powerpoint大学生必备 火绒安全-计算机防病毒软件 AI助手-AI对话写作阅读助手&#xff0c;…

HCIP-MGRE实验

实验拓扑图 需求 1 R5为ISP &#xff0c;只能进行IP地址配置;其所有地址均配为公有IP地址 2 R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方; R2于R5之间使用ppp的chap认证&#xff0c;R5为主认证方; R3于R5之间使用HDLC封装。 3 R1/R2/R3构建一个MGRE环境&#xff0c;R1为…

创新驱动|RFID技术在智能半导体行业的应用

半导体产业是我国重要的战略性新兴产业&#xff0c;是一个需要高度协同的领域&#xff0c;需要各个环节的紧密配合。RFID技术&#xff0c;作为一种自动识别和数据采集技术&#xff0c;在半导体生产线上具有独特的优势。通过应用RFID技术&#xff0c;半导体制造企业可以实现生产…