精华内容
下载资源
问答
  • 如题,可以按照以下方式: 1、在sheet1上右键——...Sub 合并当前目录下所有工作簿的全部工作() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As St

    如题,可以按照以下方式:

    1、在sheet1上右键——选择查看代码——然后将下面的代码复制到对话框中——点击开始——发现奇迹

    Sub 合并当前目录下所有工作簿的全部工作表()
    Dim MyPath, MyName, AWbName
    Dim Wb As Workbook, WbN As String
    Dim G As Long
    Dim Num As Long
    Dim BOX As String
    Application.ScreenUpdating = False
    MyPath = ActiveWorkbook.Path
    MyName = Dir(MyPath & "\" & "*.xls")
    AWbName = ActiveWorkbook.Name
    Num = 0
    Do While MyName <> ""
    If MyName <> AWbName Then
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
    Num = Num + 1
    With Workbooks(1).ActiveSheet
    .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    For G = 1 To Sheets.Count
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
    Next
    WbN = WbN & Chr(13) & Wb.Name
    Wb.Close False
    End With
    End If
    MyName = Dir
    Loop
    Range("B1").Select
    Application.ScreenUpdating = True
    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
    End Sub

    展开全文
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ...示例:pandas 是基于NumPy 的种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例)


    前言

    在学习或工作中,我们有时需要将多个Execl表格的数据需要汇总到一个Execl表中,小编在学习中也遇到了这个需求,需要将一个文件夹下所有Execl表汇总到一个表中,下面看看如何实现?


    提示:前提是所有表的数据格式是一样的。

    一、如何将多个Execl表格中的数据汇总到一个表中?

    首先:将要汇总的所有Execl表格放入同一个文件夹下

    二、使用步骤

    1.全部代码

    代码如下(示例):

    # encoding: utf-8
    
    '''
    本代码的作用是将多个表格合并为一个表格。
    '''
    
    import os
    import xlrd
    import xlwt
    import logging
    import pandas as pd
    import datetime
    # 设置logging.basicConfig()方法的参数和配置logging.basicConfig函数
    FORMAT = '[%(funcName)s: %(lineno)d]: %(message)s'
    LEVEL = logging.INFO
    logging.basicConfig(level = LEVEL, format=FORMAT)
    
    excel_content = []
    output_file = 'test/huizong.xls'  #输出汇总表路径
    
    # 打开文件夹,获取表格信息
    def get_obj_list(dir_name):
        filelist = os.listdir(dir_name)
        for item in filelist :
            item = dir_name + item
            if os.path.isfile(item) and (item[-4:] == '.xls' or item[-5:] == '.xlsx' or item[-5:] == '.xlsm'):
                if item.find("$") != -1:
                    continue
                merge_excel(item)
            elif os.path.isdir(item):
                item = item + '/'
                get_obj_list(item)
    
    # 获取单个表格的信息
    def merge_excel(excelName):
        excelfd = xlrd.open_workbook(excelName)
        for sheet in excelfd.sheet_names():
            if sheet == '同行网站关键词':
                print (excelName)
                sheet_content = excelfd.sheet_by_name(sheet)
                header = sheet_content.cell(0, 0).value
                if header == u'关键词':   # 去掉标题行
                    row = 1
                else:
                    row = 0
                while row < sheet_content.nrows:
                    keywords    = sheet_content.cell(row, 0).value #这里是3列表格数据,行数不限制,想要读取多列可增加变量数。
                    pc  = sheet_content.cell(row, 1).value
                    num = sheet_content.cell(row, 2).value
                    item = [keywords, pc, num]
                    excel_content.append(item)
                    row += 1
    
    
    # 将获取到的表格信息保存到一个表格中
    def save_info():
        workbook = xlwt.Workbook(encoding = 'ascii')
        worksheet = workbook.add_sheet('同行网站关键词')
        style = xlwt.XFStyle() # 初始化样式
        font = xlwt.Font() # 为样式创建字体
        font.name = 'Arial'
        #font.bold = True # 黑体
        font.underline = True # 下划线
        font.italic = True # 斜体字
        style.font = font # 设定样式
        worksheet.write(0, 0, '关键词')
        worksheet.write(0, 1, 'PC指数')
        worksheet.write(0, 2, '排名')
    
        for i, item in enumerate(excel_content):
            for j in range(3):  #3列,对应上面的列数
                worksheet.write(i+1, j, item[j])
        workbook.save(output_file) # 保存文件
    
    
    def execl():
        if os.path.exists(output_file):
            os.remove(output_file)
    
        get_obj_list('./test/')
        save_info() #这里已经实现多个表格汇总成一个表
        stexcel = pd.read_excel('./test/huizong.xls') #读取汇总表
        stexcel = stexcel.drop_duplicates()		#对表中重复数据进行去重
        stexcel.sort_values(by='PC指数', inplace=True, ascending=False)  #按PC指数进行倒序排序
        filename = str(datetime.datetime.now().strftime('%Y%m%d-%H-%M-%S'))
        stexcel.to_excel("./同行网站关键词" + filename + ".xls")  # 最终生成execl表
    
    
    if __name__ == "__main__":
         execl()
    
    

    总结

    这里对文章进行总结:
    1.读取文件下所有execl表
    2.进一步读取每个表中的数据
    3.将所有表的数据进行汇总保存
    4.对表进行去重并按照“PC指数”倒序排列
    5.生成最终execl表

    展开全文
  • word中多张表格数据汇总到一个excel中
  • 如何将多EXCEL表格中的信息合并到一个表格中?多Excel批量合并的绿色工具 进入网址:http://www.excelfb.com/,点击多Excel文件合并(合并到一个表) 或者多Excel文件合并(相同名称的Sheet合并) ...

    如何将多个EXCEL表格中的信息合并到一个表格中?介绍一个无需安装的对多个Excel进行批量汇总合并的绿色工具

            最新版支持合并加入文件名、sheet名,请到网站看新工具页面,无需安装,直接网页使用

    进入网址:http://www.excelfb.com/,点击 批量合并  中的

                              多个Excel文件合并(合并到一个表)

                      或者 多个Excel文件合并(相同名称的Sheet表合并)

                      或者 多个Excel按按相同列合并(对齐合并)

    注意要使用谷歌浏览器

    无需vba,无需了解宏,一键合并,下载最新Excel即可,本工具对谷歌浏览器支持比较好,其他浏览器可能用起来有问题

    使用如下:

    使用情况一、     没有任何条件所有都合并到一个表

     

    合并情况二、所有表去表头合并到一个表

    合并情况三、按Sheet名合并到一个Excel文件,相同名称合并

    合并情况四 、按某几列内容相同的行的合并在一起

     

    展开全文
  • 批量汇总一个文件夹下的多张电子表格到一个上,直接改路径就能用。
  • excel利用宏汇总个表格数据例子,多列数据可以汇总,减少复制麻烦
  • 最近一个同学想要写段VBA代码实现以下功能(我简化了要求):一个表中有很多excel文件,每文件有类似的表格,代码实现把每文件的表格复制一个excel文件中。折腾开始...... 之前没搞过VBA,我用的是wps抢...
  • 可以通过该工作簿的代码修改成自己想要的工作簿,方便以后每次汇总工作簿
  • 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的方式;

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

    展开全文
  • 实际操作中,往往会处理一些相同格式的Excel表格数据,比如某商家都是按照每月进行产品A和B的数据的统计,有时为了季度或者年度数据的或者,就需要将多Excel中的表格数据汇总到一起(不是覆盖),并且表格的标题还...
  • 读取多台服务器里的远程数据库的,并汇总到一个数据库的中在这里用复制的方法。 基本思路是 第步 复制远程的数据库本机数据库 mysqldump -h '被复制方的ip' -u对方用户名 -p对方密码 --opt --compress ...
  • 表格模板-项目数据汇总表.ett
  • 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题...这篇文章要做的事情,如标题所述,就是提取多张excel上的数据或信息,合并汇总到一张新上,这是我们工作中经常会.
  • 办公室老师给了我很多张表格,但是每个表格里只有行信息,我需要把多张表的信息汇总到一张里面,该如何做呢? 、文件目录结构 如上图,“国家励志”文件夹下面有不同学生的文件夹,每位学生的文件夹中有两份...
  • 数据透视是Excel电子表格自带的数据分析功能,可以原始数据进行任意分组和归纳,并以报表形式显示出来。 数据透视种可以汇总大量数据的交互方式。使用数据透视可以深入分析数值数据数据透视...
  • 问题:从当前目录或子目录中查询符合条件的excel表格,并从这些excel表格中抽取符合条件的行汇总到1excel的sheet页中。 所有excel表格名字为:交付清单1、交付清单2,交付清单3……,格式也一样,样式如下: 将...
  • 数据汇总表格

    2013-07-26 08:41:36
    用于数据自动从目录下的表格取数,并汇总到一个表格中。
  • 汇总excel表格数据.exe

    2020-02-19 12:14:38
    可以实现对于多excel表格的信息汇总。本文件基于python实现,并且进行了打包,方便相关人员的使用。实现的功能包括,对于多部门所提交的同类信息不同的项目的汇总
  • 将很多很多的电子表格(xlsx或xls)放一个文件夹内,运行这代码,就可以批量读取并汇总所有表格内的数据一个新生成的大中,超级实用!自己修改一下文件夹路径即可。
  • 前段时间做一个Excel表格,需要将多列数据全部汇总到一列,度娘了时半会没查出来的符合需求的方法,今天使用Google终于找到方法了。 先说需求,如图所示: 有A、B、C三列数据,我需要将这三列数据全部汇总到一列...
  • 把多EXCEL文件汇总到一个EXCEL中

    千次阅读 2021-03-07 22:29:45
    1,新建一个空白的Excel文件,点zhi击数据工具栏,依次选择“新建查询”-“从文件”-“从文件夹”。 2,在弹出的对话框中点击浏览选择销售数据所在的文件夹,也可以直接在地址栏中输入文件夹的地址,输入好以后...
  • 转自:https://blog.csdn.net/xu_ok/article/details/77979519
  • 表格数据汇总可以使用透视,使用函数,今天读书屋OFFICE网陈飞老师分享一个通过合并计算完成多表格数据汇总方法,合并计算分为两种情况,种情况是:多表格类别一致数据不同,另种情况是类别不一致,数据也...
  • 这是EXCEL数据透视的应用,教程参考来自EXCEL HOME,这里附上我的全部练习过程和图片。本文中所用所有图片以及文字均为本人原创,但为尊重原作者,故还是打上了转载的标签。如需转载,还请标上本人昵称qk61508或...
  • Python 汇总Excel表数据

    千次阅读 2019-11-19 01:13:12
    本文使用xlrd模块读取Excel,使用openpyxl模块写入Excel,可将同表头结构的数据汇总至同一Excel文件中。 该小工具应该是网上同类小工具中效率较高的,只需要单次循环即可解决。 代码如下: # 汇总相同表头的Excel...
  • 1.kettle 多级联 将多个表格的查询的数据插入到一个表格中:https://blog.csdn.net/bird_tp/article/details/83784017 2.关于kettle 多表数据输入一个目标中,并添加序列的问题:https://bbs...
  • 本文就通过一个实际的例子来给大家展示一下 Python 是如何应用于实际工作中高效解决复杂问题的。背景小明就职于一家户外运动专营公司,他们公司旗下有好多品牌,并且涉及很多细分的行业。小明在...
  • 在工作中,我们经常遇到收集、汇总数据的工作,比如调查表一类,相同的格式需要交付给不同的对象填写,然后收集汇总,如果按照常项的EXCEL工作习惯,我们需要打开每一张表格,摘抄每一个张表的数据,然后汇总统计,...
  • excel 跨表格数据汇总

    千次阅读 2016-01-20 00:40:23
    几十sheet的页面数据汇总到一个sheet,每sheet的结构相同。 比如:a1,c3,d6存储具体数据,每sheet都是交易日命名,比如20151113之类。 方法: 跨sheet取数据直接用sheetX!Yn '20151113'!A1 即可...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,049
精华内容 15,619
关键字:

对不同表格数据进行汇总到一个表