python实现excel的数据提取

编程入门 行业动态 更新时间:2024-10-28 17:28:33

python实现excel的<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据提取"/>

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的数据提取

本文发布于:2023-12-04 10:49:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1660668.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   python   excel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!