精华内容
下载资源
问答
  • 多个Excel文件,每个Excel行数不固定,如何从多个文件查找出需要的整行数据,并提取出符合条件的行数据。例如提取每个表的汇总这一行,同时要带上文件名称。 下面的工具,能够解决Excel按条件批量提取的问题。...

    有多个Excel文件,每个Excel行数不固定,如何从多个文件中查找出需要的整行数据,并提取出符合条件的行数据。例如提取每个表的汇总这一行,同时要带上文件名称。

    下面的工具,能够解决Excel按条件批量提取的问题。工具使用如下:

    工具地址:Excel常用在线工具

    一、提取符合条件的行

    057c5dc7d5915ef61ed2d382ad1b6228.png

    第一次打开,加载时间在10s左右

    工具打开如下图所示:

    2f1c263c434176cc1fdcce58cb126a47.png

    1、批量查询某个关键字

    第一步,选中搜索这个字符串

    第二步,选择查询的Excel文件,到文件夹中,Ctrl A ,本文件夹下的文件全选

    第三步,填入查询的关键字,点击开始查找,即可显示出查找的内容的整行数据,操作界面如下图

    bcf35c7a743022ecd47b669dad61de94.png

    第四步,如果需要导出查询结果到新的Excel,点击 导出查询结果,前几列分别是Excel文件名,Sheet名,所在行号,如果不需要可以自己删除列

    2、批量查询多个关键字---也可以使用3按条件查询

    第一步,选中按这个正则式搜索

    第二步,选择查询的Excel文件,到文件夹中,Ctrl A ,本文件夹下的文件全选

    第三步,填入查询的关键字,多个用"|"隔开,点击开始查找,操作界面如下图

    9a59f01ad5a8ce4246e51ad184dcdcc2.png

    3、按条件查询

    086055596cac828a387dc0a0246c031a.png

    第一步,选中按多列条件搜索

    第二步,选择查询的Excel文件,到文件夹中,Ctrl A ,本文件夹下的文件全选

    第三步,填入查询的条件,查询条件不会写,没事,有智能提示,如下图---不是A格输入后自己改一下,例如自己改成B格

    490a3d832af5a36d207d3266ea8ca675.png

    支持的条件写法示例如下:

    满足这一个(A格 = 100)

    同时满足(A格 = "小明" , B格 > 20 , C格 的文字中包含 "xx", (A格+B格)*D格/E格 >= 100.01 )

    满足任何一个(A格 > 20 , B格 不等于 "xx值", 同时满足(A格 > 20, E格 = "5月" ) )

    同时满足( A格 的文字组合上 B格 = C格, 满足任何一个(A格 > 20 , B格 不等于 "xx值") )

    二、批量提取符合条件的行的上几行下几行数据

    对于以上查询出的结果,如果要看或者提取满足条件的上几行或下几行数据,操作如下:

    把 满足搜索条件的当前行 勾选 去掉

    勾选 满足条件的行的下 几 行或上几行, 如果都需要就都勾选上,需要哪些勾选哪些,填入行数,点击 开始查找

    5ef2ab239359bb8f8213af1f7db050de.png

    三、批量提取符合条件的上面第几行或下面第几行数据

    操作如下图所示

    把 满足搜索条件的当前行 勾选 去掉

    勾选 满足条件行的下面第 几 行 或 上面第几行数据 如果都需要就都勾选上,需要哪些勾选哪些,填入行数,点击 开始查找

    fa11ae0292c2fe86536a3f5fe7918bca.png

    四、批量提取指定行的数据

    提取指定行的数据,使用的功能就不是上面那个了,需要使用合并功能,工具位置如下,使用批量合并功能

    505d21cbc7c88dc3cc1fdbd7a604a639.png

    工具界面如下: 如此聪慧睿智的你,一看界面应该就知道怎使用了,我也就不啰嗦了

    f5f90957c4324654fbcd5e1f8328c9b9.png

    五、多个Excel批量提取指定列的数据

    提取指定列的数据,工具地址如下:

    71edf5a494e218aacb56f24c757575ab.png

    操作使用如下图: 提取哪列就填写那列,多列用“,”隔开,提取的列数据依次追加排列到新的Excel文件中。

    2ea8d01061a0087b7c14fba03338e366.png
    展开全文
  • 我是Python新手,我第一次在stack overflow中发布这问题。请帮忙解决这问题。在我的主目录是'E:\Data ...在我可以文件夹中提取数据:import osimport pandas as pdimport numpy as np# Find file nam...

    我是Python新手,我第一次在stack overflow中发布这个问题。请帮忙解决这个问题。在

    我的主目录是'E:\Data Science\Macros\ZBILL_Dump',包含按月分类的文件夹,每个文件夹都包含日期方面的excel数据。在

    我可以从一个文件夹中提取数据:import os

    import pandas as pd

    import numpy as np

    # Find file names in the specified directory

    loc = 'E:\Data Science\Macros\ZBILL_Dump\Apr17\\'

    files = os.listdir(loc)

    # Find the ONLY Excel files

    files_xlsx = [f for f in files if f[-4:] == 'xlsx']

    # Create empty dataframe and read in new data

    zbill = pd.DataFrame()

    for f in files_xlsx:

    New_data = pd.read_excel(os.path.normpath(loc + f), 'Sheet1')

    zbill = zbill.append(New_data)

    zbill.head()

    我试图从我的主目录中提取数据,即“ZBILL_Dump”,它包含许多子文件夹,但我做不到。请有人帮帮我。在

    非常感谢。在

    展开全文
  • EXCEL函数公式大全之利用VLOOKUP、函数INDIRECT、自定义名称从多个表格中提取数据EXCEL函数与公式在工作中使用非常的频繁,会不会使用公式直接决定了我们的工作效率,今天我们来学习一下提高我们工作效率的函数...

    EXCEL函数公式大全之利用VLOOKUP、函数INDIRECT、自定义名称从多个表格中提取数据。EXCEL函数与公式在工作中使用非常的频繁,会不会使用公式直接决定了我们的工作效率,今天我们来学习一下提高我们工作效率的函数VLOOKUP和函数INDIRECT。今天我们的例子是根据产品分类,从多个表格中提取产品名称、产品价格。

    a5c1ecbc4a133f90cf0ba871469744cd.png

    第一步利用定义名称,对不同种类的产品分别定义名称。

    选中需要定义名称的单元格区域。

    cf1ef4990e0069d4f4db6164517e6cfd.png

    公式----单击定义名称---点击定义名称。

    b4c457125d002dcea9feb78bc42e3b44.png

    在弹出的新建名称对话框内----输入名称电子产品----引用位置输入=Sheet1!$B$11:$D$13

    6e80802a34ee5792652e5700f225c5fe.png

    利用相同的方法把运动装备的名称也定义了。

    96567382a794649917b8c2176abe3b4b.png

    利用INDIRECT函数获取自定义的名称,INDIRECT函数的使用方式为:公式----插入函数----输入函数名INDIRECT----点击转到---点击确定。

    ba245d7542ec7037b834ab834a60e833.png

    我们会发现INDIRECT函数有两个参数构成,第一个参数表示单元格的引用,第二个参数表示逻辑值。

    28fe74b18abe7f166f278a317b8b97a8.png

    第三步利用IF函数、ISBLANK函数、VLOOKUP函数、INDIRECT函数获取产品的名称。

    对于IF函数、ISBLANK函数、VLOOKUP函数在前面我们已经讲过了,这次就不过多的讲解了。获取产品名称的具体公式为:=IF(ISBLANK(B3),

    展开全文
  • Python办公自动化实践1:从多个excel中提取数据并汇总到一个工作表页中,表格,抽取,sheet 发表时间:2020-04-26 问题:从当前目录或子目录中查询符合条件的excel表格,并从这些excel表格中抽取符合条件的行汇总到...

    Python办公自动化实践1:从多个excel表中提取数据并汇总到一个工作表页中,表格,抽取,sheet

    发表时间:2020-04-26

    问题:从当前目录或子目录中查询符合条件的excel表格,并从这些excel表格中抽取符合条件的行汇总到1个excel的sheet页中。
    所有excel表格名字为:交付清单1、交付清单2,交付清单3……,格式也一样,样式如下:
     将类似多个excle表中,抽取序号中的N行(上图是1~4行)汇总到指定excel的sheet页中。
    该表格在DataFrame中的显示方式如下:
    在这里插入图片描述
    一、希望得到的汇总表格为:
    1、列头是:“系统名称、用途 、CPU 内存、操作系统、内网IP、 互联网IP 、交付时间 、到期时间”
    注意:列头(columns header)是合并格。
    2、删除掉A列,删除最后的空行
    3、将交付时间,到期时间从datetime类型转变为字符串类型; #第三方模块datetime
    4、将汇总表格中所有的单元格 字体,大小,字体是否据中等 全部调为一致;#第三方模块xlsxwriter

    二、具体实现步骤如下:
    1、查询符合条件的excel表; #第三方模块os
    2、用pandas读取符合条件的表;
    3、对读入后的excel表(dataframe)进行裁剪;
    4、将多个excel表格汇总到单一excel的sheet页中;
    5、将最终的sheet页再进行单元格格式调整,再重新输出新的sheet页;
    该脚本涉及第三方模块有:pandas,os,datetime,xlsxwriter。

    三、代码展现
    1、查询符合条件的excel表
    a、通过os.walk查询当前目录及子目录中的文件
    b、在这些文件中筛选匹配“交付清单”的文件
    c、将匹配文件和绝对路径“连接后”存放到列表中;

    import numpy as np 
    import pandas as pd
    import xlsxwriter 
    import os
    from pandas import Series,DataFrame
    from datetime import date,timedelta,datetime
    
    path=r'D:\cloud_files'
    path_out=r'D:\cloud_files\vmachines_list.xlsx'
    
    substr='交付清单'
    file_list=[]
    for path_name,dirs,filename in os.walk(path):
        for files in filename:
            if files.find(substr)!=-1:
                file_list.append(os.path.join(path_name,files))
    

    该段重点:
    a、path_name 存放文件所在的绝对路径,filename 存放文件名;
    b、files.find(substr) 匹配substr字符串的文件,若不匹配返回-1,
    若匹配,返回该字符串在文件名中第一次匹配成功的位置。
    c、os.path.join(path_name,files)将绝对路径与匹配的文件结合起来,再存放到file_list列表中。

    file_list列表中的数据:

    ['D:\\cloud_files\\~$交付清单01.xlsx', 'D:\\cloud_files\\交付清单01.xlsx', 'D:\\cloud_files\\交付清单02.xlsx', 'D:\\cloud_files\\交付清单03.xlsx']
    

    在交付清单01.xlsx 是打开的情况下,提交该段程序,将会出现~$交付清单01.xlsx。
    表示该表被进程占用。

    2、用pandas读取符合条件的表
    a、通过pandas读取在file_list中的excel表格;
    b、并将结果写入到vm_tmplist 临时列表中。

    vm_tmplist=[]
    for item in file_list:
        if '~$' not in item:
            temp=pd.read_excel(item,sheet_name='交付清单',skiprows=2,usecols='B:J')
            vm_tmplist.append(temp)
    

    该段重点:
    a、跳过excel中的前两行,并定义B到J列区域;

    3、对读入后的excel表(dataframe)进行裁剪
    a、选择合适的列头;
    b、删除掉A列,删除最后的空行
    c、将交付时间,到期时间从datetime类型转变为字符串类型;
    转换的原因是xlsxwriter不支持对时间类型,index,columns类型的单元格进行格式化。
    官网原文:It isn’t possible to format any cells that already have a format
    such as the index or headers or any cells that contain dates or datetimes .

    def trim_frame(df):
        df.columns=np.concatenate([df.columns[:3],df.iloc[0,3:5],df.columns[5:]])
        df=df.dropna(subset=['系统名称'])
        df=df.loc[(df['序号'].isin(range(1,10,1)))]
        df['交付时间']=pd.to_datetime(df['交付时间'],errors='coerce').dt.strftime('%Y-%m-%d')
        df['到期时间']=pd.to_datetime(df['到期时间'],errors='coerce').dt.strftime('%Y-%m-%d')
        return df
        
    for value in vm_tmplist:
        df=trim_frame(value)
        vm_trimlist.append(df)
    

    本段重点:
    a、将前三列(0,1,2)的columns(列名)与第0行的第3、4列及columns第5列至最后一列合并;
    通过numpy.concatenate函数合并
    b、将“系统名称”列中空格(NaN)所在的行去掉;
    c、选取“序号”列中数字为1~10所在的行;
    d、将“交付时间”,“到期时间”两列datetime类型数据转换为string。
    e、将“修剪好的”表存入vm_trimlist列表中;

    4、将多个excel表格汇总到单一excel的sheet页中
    a、调用xlsxwriter引擎;
    b、从vm_list列表中选取“修剪好”的数据,按顺序写入到“虚机清单”sheet页中;
    c、保存写好后的数据.writer.save()

    def trimDfs_to_Excel(df_list, sheets, path_out):
        writer = pd.ExcelWriter(path_out,engine='xlsxwriter')   
        row = 0
        for dataframe in df_list:
            dataframe.to_excel(writer,sheet_name=sheets,startrow=row,startcol=0,index=False) 
            row = row + len(dataframe.index) + 1
        writer.save()
        
    trimDfs_to_Excel(vm_trimlist,'虚机清单',path_out)
    

    本段重点:
    a、从vm_trimlist中读取数据(注:df_list是形参)
    b、定义row=0,开始写的行startrow=row。
    第2张表写入时,启始位置是第1张表的长度len(dataframe.index) 加1(第一行是从0开始的,所以加1,避免第2张表第一行冲掉第一张表最后一行)
    c、to_excel(index=False)是防止将索引(index)写入excel表内。

    5、将最终的sheet页再进行单元格格式调整,重新输出新的sheet页;
    a、重新读取输出的表;
    b、读取后,将该表删掉;因为xlsxwriter不能对原表进行修改;
    c、对单元格及列头(columns header)进行格式化;
    d、重新输出新表

    def formatExcel(df,path):
    
        df=df.loc[df['序号'].isin(range(1,10,1))]
        os.remove(path)
        df.reset_index(drop=True,inplace=True)
        
        for i in df.index:
            df['序号'].at[i]=i+1
    
        writer = pd.ExcelWriter(path,engine='xlsxwriter')
        df.to_excel(writer,sheet_name='虚机清单',index=False)
        
        workbook=writer.book
        worksheet=writer.sheets['虚机清单']
        fmt_cell={'bold':False,'font_name':'微软雅黑','font_size':9,'align':'center','valign':'vcenter','border':0,'num_format':'#,##0'}
        fmt_header={'bold':True,'font_name':'微软雅黑','font_size':10,'align':'center','valign':'vcenter','border':0}
    
        cell_format=workbook.add_format(fmt_cell)
        header_format=workbook.add_format(fmt_header)
    
        worksheet.set_column('A:I',15,cell_format)
    
        for colx,value in enumerate(df.columns.values):
            worksheet.write(0,colx,value,header_format)
    
        writer.save()
        
    formatExcel(pd.read_excel(path_out),path_out)
    print ('Done!')
    

    该段重点:
    a、对序号列重新赋值新的数字,df[‘序号’].at[i]=i+1;
    b、定义单元格(cell)格式;
    c、定义列头的格式,通过worksheet.write的方式;

    生成的新表:
    在这里插入图片描述

    展开全文
  • 大家在日常工作中可能会遇到把对应数据填写到一个...以下Word模板中提取出各个位置的数据如果每个Word文件里只有一页表格,数据是存在多个Word文件里面的,可以先把这些Word合并到一个文件里。具体操作步骤(以Wor...
  • 如果使用集算器SPL,应对这类问题则会简单很,它精心设计了一套集合运算领域的函数库,处理Excel文件更加灵活和高效;同时SPL是解释执行的脚本,也很容易做到热切换适应新需求。比如要处理这么场景:文件employe...
  • 该VBA脚本可以实现word文档的多个中提取数据,每个表格的信息提取到一行。 Sub word2els() Set wdApp = CreateObject(“kwps.application”) path_ = ThisWorkbook.Path wdApp.Documents.Open (path_ & “”...
  • ****前台上传一个压缩包,包内是多个excel文件,后台这些excel文件中提取需要的数据插入数据库,有什么思路吗? 还有后台要不要解析压缩包?**
  • 编按:拼单消费便宜,买家和卖家都喜欢。...去年双11,我们分享了订单信息中提取单个手机号的经验。不论手机号位于订单信息的哪里,都可以用一公式搞定。《3分钟,带你看懂提取手机号码的经典公式套路》(...
  • 如何从多个EXCEL批量提取符合条件的多行数据或指定行的数据----提取数据的绿色工具excelfb,支持提取行、提取列,提取满足条件的上几行 本工具可以按一个关键字、多个关键字或汉字描述的条件进行查找,展示出整行...
  • Word文件中取值并导出到Excel中,有现成的工具可实现。 不过要通过工具来批量取值,Word文件中的目标字符必须有规律才行,例如都处于表格中,或者都有下划线,只要目标符合指定的规则就可以批量提取到Excel表中。 ...
  • =VLOOKUP($A$8,...采用 INDIRECT 函数,用字符串拼接把动态生成的表名称包含起来,可以从多个中提取数据 3)A2到D70是在目标表中的搜索范围, 4) 4是取匹配数据行的第4个数据。 5)0是精确匹配 【提出...
  • 粉丝问:如何文本杂乱无章的表格,批量提取字符?小编答:先找出规律,再确定提取的方法粉丝:没有规律,每单元格字符不一样提取的字符位置也不同小编:截图或或者把文件发给我经小编去除隐私信息后的截图...
  • 金浚Excel数据批量提取,根据查找内容指定文件夹多个excel文件批量提取出需要的数据。 软件说明 软件可对文件夹的多个exce1文件进行批量数据提取!免费版一次可扫描3个文件,提取20行数据。 注册版无数量...
  • 前几天碰到个棘手的问题,需要863个EXCEL工作簿里面,提取每个工作簿里面其中一个工作表两个单元格的数据。 卖糕的!863个EXCEL工作簿实在是太了!关键是这些表格里面都有大量宏、函数运算,打开本就很慢,...
  • 用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet可以采用一些操作Excel块去实现,比如xlrd、xlwt、openpyxl、xlsxwriter等模块。xlrd模块用于读取Excel表,...
  • 大家可以看到在下图的A、B两列中,有部分行两单元格中的数据相同,即为重复值,图中用红色标识,现在的需求就是两列中提取唯一值到其他区域,次出现的重复值只提取一次,下面以Excel 2013和下图两列数据为例向...
  • 大家好,又到了Python办公自动化专题如果你经常与Excel或Word打交道,那么两份表格/文档找到不一样的元素是一件让人...比较Excel为了方便说明,我创建了一个简单的Excel用于示例可以看到上方两个Excel表格共有...
  • 存在多个Excel文件,把每个Excel文件的B列,提取出来,放到新表的列,第一个文件或Sheet的B列放第一列,第二个文件或Sheet的B列放第二列..... 这个有一个方便性工具,如下图 选择要提取的文件, 输入...
  • 今天我们就来学习一下,如何从多数据当中,剔除掉重复值,快速的提取出不重复的内容。如图所示,在多组姓名当中,会有多个重复的姓名,现在我们需要将不重复的姓名给提取出来。一般情况下,如果多组姓名都在一列的...
  • 现在需要一键将所有Excel文件的那列信息提取到一新的Excel文件。首先,需要获取到所有Excel文件的路径。导入os库,用os.getcwd()获取当前工作路径(也就是你的.py程序文件放的路径),并加上指定的文件夹“资料...
  • 在项目中经常涉及到基础数据的导入的问题,很时候就需要从Excel中获取数据,下面提供一个从Excel文件提取数据到DataSet中方法: /// <summary> /// 根据excel的文件的路径提取其中表的数据 /// </...
  • 今天我们分享用简单公式混合文本中提取数字的方法。因为采用的公式很简单,所以总体来说只适合数字在文本中的位置有一定规律的情况。如果想用公式提取没有位置规律的数字,那就得看我们下一篇教程。学习更技巧,...
  • 现在需要一键将所有Excel文件的那列信息提取到一新的Excel文件。首先,需要获取到所有Excel文件的路径。导入os库,用os.getcwd()获取当前工作路径(也就是你的.py程序文件放的路径),并加上指定的文件夹“资料...
  • 导读:文本是Excel中出现频率非常高的一种数据类型,如何查找文本/内容等作为一项最基础的技能,大部分同学仍然还在使用着最古老的手动查询,今天给大家分享Excel中的两出现频率非常高的文本函数。文/芒种学院@指...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 279
精华内容 111
关键字:

从多个excel中提取数据