-
2022-03-11 17:28:52
实现过程:
一,遍历目标文件夹并筛选出’.xls’或’.xlsx’格式的表存入到数组中。
二,数组存储筛选出表的指定数据。
三,excel数据存储的起始数据为指定sheet的数据条数+1。import os import sys from openpyxl import workbook from openpyxl import load_workbook #所需遍历提取excel表格的文件夹 path = r'xxx' #存储到新表格 path1 = r'xxx.xlsx' TID = [] EPC = [] lw_save = load_workbook(path1) sheet_save = lw_save['sheet'] start_length = sheet_save.max_row+1 for file in os.listdir(path): if file.endswith('.xls') or file.endswith('.xlsx'): #判断文件夹下的文件是否是excel文件 lw = load_workbook(path+file) sheet = lw['RFIDData'] if sheet.cell(1,5).value == 'EPC' and sheet.cell(1,6).value == 'TID' :#判断文件的第一行的第五列与第六列分别是否为EPC与TID for i in range(2,sheet.max_row+1): EPC.append(sheet.cell(i,5).value) TID.append(sheet.cell(i,6).value) else: print('Data Error !!!!!!!') sys.exit() print(TID) if TID.__len__() == EPC.__len__(): for j in range(TID.__len__()): sheet_save.cell(start_length + j,1,TID[j]) sheet_save.cell(start_length + j,2,EPC[j]) else: print('Data Error !!!!!!!') sys.exit() lw_save.save(path1)
更多相关内容 -
如何提取多个excel工作表中相同位置的单元格数据
2019-03-27 13:41:53提取工作表中多个数据的资源方法,以完成对数据的重新排列组合。 -
python3读取excel文件只提取某些行某些列的值方法
2020-09-20 06:43:09今天小编就为大家分享一篇python3读取excel文件只提取某些行某些列的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python实现提取XML内容并保存到Excel中的方法
2020-09-20 03:16:14主要介绍了Python实现提取XML内容并保存到Excel中的方法,涉及Python针对xml文件的读取、解析以及Excel文件的写入、保存等相关操作技巧,需要的朋友可以参考下 -
用公式提取多个Excel文件的数据
2019-09-16 10:46:27用公式提取多个Excel文件的数据待提取数据的Excel文件新建公式,提取文件名提取文件名到Excel中用文件名和地址组成字符串将引用的字符串以数字类型粘贴用查找和替换功能在字符串前加“=”用查找和替换功能更改单元...用公式提取多个Excel文件的数据
待提取数据的Excel文件
在文件夹 E:\temp\销售清单\ 中是不同公司的销售清单Excel文件。现在要将所有公司地址提取到一新的Excel中进行汇总。
新建公式,提取文件名
公式名称为:提取文件名
引用位置为:=FILES(Sheet5!$A$1):提取文件名到Excel中
用公式:=Index(提取文件名,row(1:1))将第一个文件名提取出来,再通过下拉单元格将所有文件名提取出来。
用文件名和地址组成字符串
用文件名和地址组成字符串,用于对文件的应用。
="‘E:\temp\销售清单\["&A2&"]Sheet1’!$A$2"
将引用的字符串以数字类型粘贴
用查找和替换功能在字符串前加“=”
在字符串前加“=”,将字符串变成公式。
用查找和替换功能更改单元地址的引用方式,提取其他数据
-
利用python对EXCEL的提取处理
2021-03-09 08:17:07提示:利用python处理两个EXCEL表格,表A和表B第一列均为时间,若时间相同,就将表A对应时间的那一行数据提取出来 例如: 方案一: 采用简单的for循环,读入EXCEL数据,进行比较判断,输出保存 import xlrd import ...项目场景:
提示:利用python处理两个EXCEL表格,表A和表B第一列均为时间,若时间相同,就将表A对应时间的那一行数据提取出来
例如:方案一:
采用简单的for循环,读入EXCEL数据,进行比较判断,输出保存
import xlrd import xlwt # 读取文件 file_A_name = "I:\\EXLA.xls" file_B_name = "I:\\EXLB.xls" result_to_name = "I:\\Result.xlsx" file_A = xlrd.open_workbook(file_A_name) file_B = xlrd.open_workbook(file_B_name) # 读取文件中的某张表 A_sheet = file_A.sheet_by_name("风速曲线") B_sheet = file_B.sheet_by_name("aaa") # 创建需要保存的写入文件 workbook = xlwt.Workbook(encoding="ascii") # 创建写入sheet worksheet = workbook.add_sheet("same_time_date") # 啦啦啦,第一版程序,比较耗时,并且保存结果不连续 for i in range (0,A_sheet.nrows): # 遍历表A"风速曲线"sheet的每一行 A_values_row1 = A_sheet.row_values(i) # 保存第i行的数据至A_values_row1 for j in range (0,B_sheet.nrows): # 遍历表B"aaa"sheet的每一行 B_values_row1 = B_sheet.row_values(j) # 保存第i行的数据至A_values_row1 if A_values_row1[0]==B_values_row1[0]: # 比较第一列(每一行第一个值)是否相等 print(A_values_row1) # 保存相同结果 for k in range(0,11): # 若True,将表A第i行的12个数据保存至新建"same_time_date"sheet worksheet.write(i, k, A_values_row1[k]) workbook.save(result_to_name) # 啦啦啦 ,关于读取某行,某列,或某具体数据的方法 ''' # 读取表A第一列数据 colA_1_value = A_sheet.col_values(0) print(colA_1_value) # 第一行数据 rowA_1_value = A_sheet.row_values(0) print(rowA_1_value) # 获取第一行第一列的数据 cell_value = A_sheet.cell_value(0, 0) print(cell_value) # 获取表的行数 nrows = A_sheet.nrows # 获取表的列数 ncols = A_sheet.ncols print("nrows: %d, ncols: %d" % (nrows, ncols)) # 输出Excel中表的个数 print(file_A.nsheets) ''' # 啦啦啦 加一个计数器就可以实现连续保存啦 如果每次只有两个时间会对应相等的话,那么找到这个相等的时间就无需再继续找啦 ''' m = 0 # 记录相同结果的次数 for i in range (0,A_sheet.nrows): # 遍历表A"风速曲线"sheet的每一行 A_values_row1 = A_sheet.row_values(i) # 保存第i行的数据至A_values_row1 for j in range (0,B_sheet.nrows): # 遍历表B"aaa"sheet的每一行 B_values_row1 = B_sheet.row_values(j) # 保存第i行的数据至A_values_row1 if A_values_row1[0]==B_values_row1[0]: # 比较第一列(每一行第一个值)是否相等 i++ print(A_values_row1) # 保存相同结果 换成m for k in range(0,11): # 若True,将表A第i行的12个数据保存至新建"same_time_date"sheet的第m行 worksheet.write(m, k, A_values_row1[k]) workbook.save(result_to_name) continue '''
注意事项:
提示:这里两个表的时间格式要保持一致,将其改为“数字转换为文本型数字”,否则python读入EXCEl时间数据后为一串float型数字,并且两相同时间数据的小数点并不一致(此处也不知为何)
方案二:
采用pandas库,这里是小伙伴写的,我直接附上源码大家自行领会
下面展示一些
内联代码片
。# 编码必须要,因为里面有中文,要不然索引不成功,已开始索引没成功就是因为编码问题; # coding=utf-8 # 导入pandas库 import pandas as pd # 这两个可以忽略,因为没用到; import numpy as np # 这个是数据库导入的,用来练手的,你们没有本地数据库也用不用; import pymysql # 导入数据 Fpath1 = "K:/马雷/zy.xls"; df1 = pd.read_excel(Fpath1); Fpath2 = "K:/马雷/03.xlsx" df2 = pd.read_excel(Fpath2) # 因为两个数据时间格式不一样,需要调整,然后且切片; df1.loc[:, "时间"] = df1["时间"].str.replace("-", "").str.slice(0, 14); # 数据二的日期不是字符串,进行了字符串的转换,这里也栽了大跟头; df2.loc[:, "时间"] = df2.时间.astype(str).str.replace("-", "").str[0:14] # 输出调整后的两个表,看是否样式一样; print(df1) print(df2) # 相同时间的日期匹配,进行了内联,数据库里面用过的; s5 = pd.merge(df2, df1, left_on="时间",right_on="时间",how="inner") print(s5) # 判断是否有缺失值,很高兴,发现没有缺失值,如果有的话会输出True print(s5.时间.isnull()) # 保存数据,开始愉快的分析数据吧, s5.to_excel("K:/马雷/zy2015532.xls") # -----------------------------------------------# # -----------现在代码结束了-----------------------# # -----------底下是联系写的-----------------------# # ----------------------------------------------# # df1.to_excel("K:/马雷/zy1.xls") # s3 = df.set_index("最大风向", inplace=True, drop=False) # print(s3) # print(s3.head(5)) # print(s2); # cloumes=["平均风速" ,"zuixiao"]; # s3 = df(cloumes); # print(df.zuixiao) # print(df.describe()) # print(df["最小风向"].mean) # print(df.cov()) # print(df.corr()) # s1 = df[1:3]; # s1.to_excel("K:/马雷/zy1.xls", index=False) # s3 = df["最大风向"].fillna(0); # s4=df["最大风向"].notnull() # print(s4) # print(s3) # print(df["zuixiao"].df["zuida"]) # print(df[1:3]) # print(s3) # print(s1.index) # s1=pd.Series(re # ads.head(2)) # print(reads.reindex) # print(reads.dtypes) # 导入数据库数据 # conn = pymysql.connect( # host="127.0.0.1", # user="root", # password="zy2015532", # database="myemployees", # charset="utf8" # ) # mysql_page = pd.read_sql("select * from employees where salary>10000", con=conn) # print(mysql_page)
到此结束,如有错误,敬请指正
-
EXCEL中对一列数据每隔n行提取数据出来
2022-05-26 08:29:52工作中,当表格中记录的数据较多,我们又不需要那么多的数据时,同时想希望对一列数据每隔n行提取一个数据出来,这时我们便可以利用excel提供的公式进行数据的提取,处理数据也会更方便。。。 以下便是我们要操作的...工作中,当表格中记录的数据较多,我们又不需要那么多的数据时,同时想希望对一列数据每隔n行提取一个数据出来,这时我们便可以利用excel提供的公式进行数据的提取,处理数据也会更方便。。。
以下便是我们要操作的数据了,加入我们想将C列的一整列数据,每隔2行取一个数据出来,
在想要存放所提取出来数据的地方,填入以下公式
=OFFSET($C$1,ROW(C1)*2,0)我这里在E2单元各填入,公式里用到了两个函数,一个是OFFSET,一个是ROW。
OFFSET(reference, rows, cols, [height], [width])函数的作用:返回对单元格或单元格区域中指定行数和列数的区域的引用。 返回的引用可以是单个单元格或单元格区域。 可以指定要返回的行数和列数。OFFSET 函数语法具有下列参数:
Reference 必需。 要基于偏移量的引用。 引用必须引用单元格或相邻单元格区域;否则,OFFSET 返回#VALUE! 错误值。例如=OFFSET($C 1 , 2 , 0 ) 便 是 返 回 C 1 单 元 格 往 下 偏 移 2 个 单 元 格 里 的 值 ( C 3 ) , = O F F S E T ( 1,2,0)便是返回C1单元格往下偏移2个单元格里的值(C3),=OFFSET( 1,2,0)便是返回C1单元格往下偏移2个单元格里的值(C3),=OFFSET(C 1 , 5 , 0 ) 便 是 返 回 C 1 单 元 格 往 下 偏 移 5 个 单 元 格 里 的 值 ( C 6 ) , = O F F S E T ( 1,5,0)便是返回C1单元格往下偏移5个单元格里的值(C6),=OFFSET( 1,5,0)便是返回C1单元格往下偏移5个单元格里的值(C6),=OFFSET(C 10 , − 5 , 0 ) 便 是 返 回 C 10 单 元 格 往 上 偏 移 5 个 单 元 格 里 的 值 ( C 5 ) , = O F F S E T ( 2 , 10,-5,0)便是返回C10单元格往上偏移5个单元格里的值(C5),=OFFSET(2, 10,−5,0)便是返回C10单元格往上偏移5个单元格里的值(C5),=OFFSET(2,A$1,0)便是返回A1单元格往右偏移2个单元格里的值(C1)。
///
Rows 必需。 需要左上角单元格引用的向上或向下行数。 Rows 可为正数(这意味着在起始引用的下方)或负数(这意味着在起始引用的上方)。Cols 必需。 需要结果的左上角单元格引用的从左到右的列数。Cols 可为正数(这意味着在起始引用的右侧)或负数(这意味着在起始引用的左侧)。
高度 可选。 需要返回的引用的行高。 Height 必须为正数。
宽度 可选。 需要返回的引用的列宽。 Width 必须为正数。
备注
如果工作表边缘上的行和 cols 偏移引用,OFFSET 返回#REF! 错误值。
如果省略 height 或 width,则假设其高度或宽度与 reference 相同。
OFFSET 实际上并不移动任何单元格或更改选定区域;它只是返回一个引用。 OFFSET 可以与任何期待引用参数的函数一起使用。 例如,公式 SUM(OFFSET(C2,1,2,3,1)) 可计算 3 行 1 列区域(即单元格 C2 下方的 1 行和右侧的 2 列的 3 行 1 列区域)的总值。ROW([reference])函数的作用:返回引用的行号。
ROW 函数语法具有一个参数:Reference 可选。 需要得到其行号的单元格或单元格区域。
如果省略 reference,则假定是对函数 ROW 所在单元格的引用。
如果 reference 为一个单元格区域,并且 ROW 作为垂直数组输入,则 ROW 将以垂直数组的形式返回 reference 的行号。
Reference 不能引用多个区域。例如公式中ROW(C1)便是放回1,ROW(C10)则是返回10
=OFFSET($C$1,ROW(C1)*2,0)
两个公式组合起来的意思便是:返回C1单元格往下偏移2个单元格里的值,其中$C$1是绝对引用,将公式复制到其他单元格的时候,这个单元格引用的区域不会改变,与后面的C1相比,将公式复制到其他地方时,C1会跟着做相应的改变
将公式往下填充
-
快速提取Excel的某些列--python
2021-03-10 17:25:33由于需要提取35个Excel表格的某些列的数据,一列数据就是65535行,人工手动复制的话就很麻烦。就想能不能找个网上的程序来自动提取这些数据。 需求提取的列数 结果在网上愣是找到一些奇奇怪怪的提取代码。完全不... -
python对excel指定数据提取并保存到另一excel表中(二)
2022-03-15 16:42:39改进:遍历并操作一个文件夹下所有指定格式的文件。 实现过程:用os.walk来遍历文件夹,其中会返回文件路径(dirpath),文件夹名称(dirnames),文件名称...#所需遍历提取excel表格的文件夹 path = r'' path1 = r'' TID = -
EXCEL 提取 多次重复特定字符的文本,提取单元格重复出现最后一个括号的内容
2021-12-17 19:42:28示例数据,要提取最后一个括号()的内容,例如第一个要文本OR4F5 =substitute(要处理的单元格,旧文本,新文本,第N次出现的旧文本) 所以首先要判断每个单元格里面有多少个(),我们只取一半括号字符就可以 LEN... -
Excel中如何利用Vlookup函数实现一对多查询
2020-06-07 17:23:18Excel中如何利用Vlookup函数实现一对多查询 -
EXCEL提取函数运用
2015-06-22 10:51:21EXCEL中拆分单元格和合并单元格的问题,文件中提取部分文字的函数。 -
python提取excel指定关键词的行数据
2022-03-07 09:43:20努力是一种生活态度,与年龄无关。所以,无论什么时候,千万不可放纵自己,给自己找懒散和拖延的借口,对自己严格一点儿,时间长了,努力便成为一种心理习惯,一种生活方式! -
python提取同目录下多个excel文件中同一列数据合并为单文件并以列名命名保存
2021-04-18 18:08:30python提取excel时,首先分析数据构成,确定需求,再按照步骤解决 使用pandas查看数据构成 生成目标数据的dataframe格式 做好目标数据的定位 将列名提取生成列表,循环读取 将文件夹和文件合并为列表做内循环 -
matlab将excle的列提取出来?如何使用Matlab提取Excel中指定列的数据?
2021-04-18 05:10:41在matlab中 file import data number of text header lines 改成6 下一步,完成 data为你要的数字,textdata为你想要的字符串matlab读取excel其中一列数据,并设定其为某一变量怎么做?如果数据文excel文件(xls或者... -
python按条件读写Excel表中的数据 v3.0
2021-12-20 18:00:22Python读取Excel两个表中的数据,判断两个表中单元格中的数据是否相等,相等则把一个表中的数据写入另一个表中对应的单元格中。此为简洁、不冗余版本,更详细的代码和分析文档可以去看v4.0版本 -
用Python实现从文件夹中提取多个excel列表的重复值
2022-04-28 09:50:32虽然excel也能够很简单的实现,但是用Python也未尝不是一种新思路,可以自己试着把文件路径改下,自己体验。 import xlrd from collections import Counter data = xlrd.open_workbook("C:/Users/我是弱智/... -
python提取excel数据,并通过上下比较取最大值
2022-03-23 16:09:32系列文章目录 文章目录 系列文章目录 前言 一、需求描述 二、python提取excel数据,并通过上下比较取最大值 总结 前言 一、需求描述 想下一个日期的值和上一个日期的值比较,如果比他大就取大的。没有他大就取它本身... -
正则表达式实现excel判断(=IF(EXP,TRUE,FALSE))三元表达式(含各种嵌套复杂的判断表达式)分组提取内容
2021-12-01 15:24:1014*G1,(((G2-G3)*13-1)*G1)), IF(G2,(10-(G3-G2)*2)*G1,11*G1))就不行了,因为有很多的逗号和其他符号干扰,所以研究了一个正则表达式解决了这个问题,可以是任意复杂的IF表达式,如果需要进一步的匹配子判断式,则... -
Python办公自动化|批量提取Excel数据
2020-09-05 18:38:00今天我们来讲解一个比较简单的案例,使用openpyxl从Excel中提取指定的数据并生成新的文件,之后进一步批量自动化实现这个功能,通过本例可以学到的知识点: openpyxl模块的运用 glob模块建立批处理 数据源:阿里云... -
怎么快速提取出Excel同一单元格多数据的最大值
2021-09-03 17:58:01今天小编跟大家分享一下怎么快速提取出Excel同一单元格多数据的最大值如下图Excel表格中同一单元格内含有多个数字,现在我们想要提取出最大值。 1.怎么快速提取出Excel同一单元格多数据的最大值 2.首选我们将... -
Excel如何提取多条件不重复数据
2021-08-18 17:48:18今天跟大家分享一下Excel如何提取多条件不重复数据 1.如下图是某公司产品尺寸表,表格中含有部分重复数据,现在我们想要将表格中的长和宽均不重复数据提取出来。 2.首先我们全选表格区域 3.然后点击下图... -
python 读取多个excel数据写入同一个excel中
2021-03-06 01:10:19一、将excel数据源存储到同一个excel的不同sheet 中例如A.xlsx 中有test1,test2 两张sheet。B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有三张sheet,分别是test1,test2,test3 代码:file_directory = 'D:/test... -
Excel表格自动填充、批量提取与组合数据
2022-04-10 00:33:21案例:(姓名下面的第一个中随便输入,接下来自动填充会根据规律来进行自动填充)(有时候不易发现规律的时候,可以多输入两列再自动填充) 方法1:单元格右下角小方点往下拉(填充柄)。 方法2:快捷键:Ctrl... -
excel提取文字拼音首字母
2021-02-02 10:36:10在工作中,为了方便查询、排序或者编码,需要生成汉字内容信息的首字母,如果信息很多的话,一个个录入是一件很麻烦的事情,下面给大家介绍一个便捷的方法,轻松获取汉字拼音首字母信息。 最终效果如下: 工具/... -
matlab处理excel数据【怎么用MATLAB从excel中提取部分数据】
2021-04-18 03:50:43已经把excel的一列导入到matlab的工作区,怎么计算这一列数的均值、标准差、最小值、最大值以及中位数?把这个EXCEL放到matlab目录下的work里,假设名为1.xls,然后在matlab里A=xlsread('1.xls'),即可导入,这时A是一个... -
python对excel操作获取某一列,某一行的值,对某一列信息筛选
2020-12-03 03:13:36使用pd读取有多个sheet的excelpandas读取的常用格式pd.read_excel(file, sheet_name),其中sheetname可以使用数字进行替代,从0开始,默认为0pandas写入的格式为data.to_excel('filename',sheet_name='A')处理的... -
Python办公自动化:批量提取Excel数据
2020-09-07 13:37:09今天我们来讲解一个比较简单的案例,使用openpyxl从Excel中提取指定的数据并生成新的文件,之后进一步批量自动化实现这个功能,通过本例可以学到的知识点: openpyxl模块的运用 glob模块建立批处理 数据源:阿里云... -
Excel提取数字、字母、汉字,靠Python一个公式搞定
2020-12-30 09:26:56小伙伴们大家好,今天给大家介绍一个自定义函数,可以用来提取文本中的数字、汉字和字母,话不多说,让我们一起看下效果。功能讲解上图中,通过自定义一个函数“tiqu”,它一共有两个参数:tiqu(字符串,提取类型)... -
python办公自动化-按需求批量提取EXCEL数据,python只需要几秒钟!
2021-02-01 12:26:16今天讲解的是如何利用Python来按需求批量提取EXCEL表格数据,然后进行保存。在用excel进行工作时,这样的操作在日常办公中是经常会用到,而用Python实现将会大大提高工作效率! 需求描述 本文新建了一个excel文件让...