精华内容
下载资源
问答
  • 主要为大家详细介绍了Python将多个excel表格合并为一个表格的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 用Python将多个excel表格合并为一个表格

    万次阅读 多人点赞 2016-12-22 14:05:31
    生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个。诸如此类的问题有很多。除了人工将所有表格的内容一个一个复制到汇总表格里,但...
     
    

    生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个。诸如此类的问题有很多。除了人工将所有表格的内容一个一个复制到汇总表格里,那么如何用Python自动实现这些工作呢~

    我不知道有没有其他更方便的合并方法,先用Python实现这个功能,自己用就很方便了。

    比如,在文件夹下有如下7个表格(想象一下有100个或更多的表格需要合并)

    作为样例,每个表格的内容均为


    运行程序,将7个表格合并成了test.xls


    打开test.xls,发现成功合并了多个表格的数据到一个表格里


    代码运行之前,需要安装Numpy,xlrd,xlwt三个扩展包。话不多说,代码如下

    #下面这些变量需要您根据自己的具体情况选择
    biaotou=['学号','学生姓名','第一志愿','第二志愿','第三志愿','第四志愿','第五志愿','联系电话','性别','备注']
    #在哪里搜索多个表格
    filelocation="C:\\Users\\ann\Documents\\Python Scripts\\"
    #当前文件夹下搜索的文件名后缀
    fileform="xls"
    #将合并后的表格存放到的位置
    filedestination="C:\\Users\\ann\Documents\\Python Scripts\\"
    #合并后的表格命名为file
    file="test"
    
    #首先查找默认文件夹下有多少文档需要整合
    import glob
    from numpy import *
    filearray=[]
    for filename in glob.glob(filelocation+"*."+fileform):
        filearray.append(filename)
    #以上是从pythonscripts文件夹下读取所有excel表格,并将所有的名字存储到列表filearray
    print("在默认文件夹下有%d个文档哦"%len(filearray))
    ge=len(filearray)
    matrix = [None]*ge
    #实现读写数据
    
    #下面是将所有文件读数据到三维列表cell[][][]中(不包含表头)
    import xlrd
    for i in range(ge):
        fname=filearray[i]
        bk=xlrd.open_workbook(fname)
        try:
            sh=bk.sheet_by_name("Sheet1")
        except:
            print ("在文件%s中没有找到sheet1,读取文件数据失败,要不你换换表格的名字?" %fname)
        nrows=sh.nrows 
        matrix[i] = [0]*(nrows-1)
        
        ncols=sh.ncols
        for m in range(nrows-1):  
            matrix[i][m] = ["0"]*ncols
    
        for j in range(1,nrows):
            for k in range(0,ncols):
                matrix[i][j-1][k]=sh.cell(j,k).value
    #下面是写数据到新的表格test.xls中哦
    import xlwt
    filename=xlwt.Workbook()
    sheet=filename.add_sheet("hel")
    #下面是把表头写上
    for i in range(0,len(biaotou)):
        sheet.write(0,i,biaotou[i])
    #求和前面的文件一共写了多少行
    zh=1
    for i in range(ge):
        for j in range(len(matrix[i])):
            for k in range(len(matrix[i][j])):
                sheet.write(zh,k,matrix[i][j][k])
            zh=zh+1
    print("我已经将%d个文件合并成1个文件,并命名为%s.xls.快打开看看正确不?"%(ge,file))
    filename.save(filedestination+file+".xls")
    
    
            
    
    
    
    
    
    
    
    我的运行环境是windows7 ,64位。Python版本是3.5.1,32位。

    展开全文
  • wps2016版 现有多个Excel表格,形式一样,就数值不一样,如何把他们合并成一个Excel表呢
  • 利用VBA实现多个EXCEL表格合并

    千次阅读 2015-12-28 10:42:07
    工作小作业-多表合并多个excel表格,字段都一样,内容数据不同,利用VBA实现数据合并到一张表格Sub text1() Application.ScreenUpdating = False Dim x As Integer, y As Integer Dim wb As Workbook, wbb As ...

    工作小作业-多表合并

    多个excel表格,字段都一样,内容数据不同,利用VBA实现数据合并到一张表格

    最终效果

    Sub text1()
    Application.ScreenUpdating = False
    Dim x As Integer, y As Integer
    Dim wb As Workbook, wbb As Workbook
    f = Dir(ThisWorkbook.Path & "\*" & ".xls")
    '07以上EXCEL文件为xlsx
    If f = ThisWorkbook.Name Then
    '以防第一个目录文件是作汇总的文件,用以过滤
    f = Dir
    'f转为下个目录下的文件名
    End If
    Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f)
        x = wb.Worksheets(1).[a65536].End(xlUp).Row
        wb.Worksheets(1).Rows("1:" & x).Copy ThisWorkbook.Sheets("sheet1").[a65536].End(xlUp)
    '为取字段行,把第一个打开的文件字段行包括数据复制出来,再往下循环其他表
        wb.Close
    f = Dir
    Do While f <> ""
    If f <> ThisWorkbook.Name Then
    Set wbb = Workbooks.Open(ThisWorkbook.Path & "\" & f)
        y = wbb.Worksheets(1).[a65536].End(xlUp).Row
        wbb.Worksheets(1).Rows("2:" & y).Copy ThisWorkbook.Sheets("sheet1").[a65536].End(xlUp).Offset(1)
     '开始循环取其他表格字段行以外数据
        wbb.Close
    End If
    f = Dir  
    '这句要放end if 后面,目录取完最后会为空"".
    Loop
    Application.ScreenUpdating = True
    End Sub
    展开全文
  • 利用python将多个Excel表格合并为一个

    千次阅读 2018-09-04 12:09:30
    # -*- coding: utf-8 -*- ...#合并个Excel表格 import xlwt import xlrd import os work=xlwt.Workbook('E:\\提数脚本\\业务办理\\merge_2.xlsx') #建立一个文件 path='E:\\提数脚本\\外呼业务办理' #目录(放Excel...
    # -*- coding: utf-8 -*-
    #Author Mr.xu
    #合并两个Excel表格
    import xlwt
    import xlrd
    import os
    work=xlwt.Workbook('E:\\提数脚本\\业务办理\\merge_2.xlsx') #建立一个文件
    path='E:\\提数脚本\\外呼业务办理'                      #目录(放Excel表格的目录)
    file_list=os.listdir(path)
    for file in file_list:                                #循环遍历列出所有文件名称
        file_name = os.path.join(path,file)               #路径+文件名
        workbook=xlrd.open_workbook(file_name)            #打开第一个文件
        sheet_name=workbook.sheet_names()                 #获取第一个文件的sheet名称
        for file_1 in sheet_name:                         #循环遍历每个sheet
            val=[]
            sheet=work.add_sheet(file_1,cell_overwrite_ok=True) #新建一个sheet
            table=workbook.sheet_by_name(file_1)                #以名字为索引
            rows=table.nrows                                    #获取sheet行数
            clos=table.ncols                                    #获取sheet列数目
            for i in range(rows):                               #循环遍历没一行
                val.append(table.row_values(i))                 #获取没一行的值
                for x in range(len(val)):
                    for y in range(len(val[x])):
                        sheet.write(x,y,val[x][y])
    work.save('E:\\提数脚本\\业务办理\\merge_2.xlsx')
    
    
    
    
    
    
    
    
    
    
    

     

    展开全文
  • 目录 split()截取一部分的字符串 读取文件夹下的所有Excel 模糊匹配符合条件的Excel split()截取一部分的字符串 str = 'https://www.baidu.com/pdf/abcdefg.pdf' # 输出字符串,>...# 做为一整体截...

    目录

    split()截取一部分的字符串

    读取文件夹下的所有Excel

    模糊匹配符合条件的Excel


    split()截取一部分的字符串

    str = 'https://www.baidu.com/pdf/abcdefg.pdf'
    
    # 输出字符串,>>>https://www.baidu.com/pdf/abcdefg.pdf
    print(str)
    
    
    # 做为一个整体截取,>>>['https://www.baidu.com/pdf/abcdefg.pdf']
    print(str.split())
    
    
    # 把字符串分割,>>>['https:', '', 'www.baidu.com', 'pdf', 'abcdefg.pdf']
    print(str.split('/'))
    
    
    # 输出第一段字符串,>>>https:
    print(str.split('/')[0])
    
    
    # 输出最后一段字符串,>>>abcdefg.pdf
    print(str.split('/')[-1])
    
    
    # 把最后一段字符串再次分割,>>>['abcdefg', 'pdf']
    print(str.split('/')[-1].split('.'))
    
    # 输出>>>abcdef
    print(str.split('/')[-1].split('.')[0])
    
    #python中的split方法只能通过指定的某一个字符分割字符串,因此要实现实现多符号分割的话,就要调用#re模块中的split()函数
    import re
    words = 'a b c.d?e!f'
    >>>re.split(' |!|\?|\.', words)
    ['a', 'b', 'c', 'd', 'e', 'f']

    读取文件夹下的所有Excel

    # 结果文件
    result = pd.ExcelWriter(SETUP_DIR+r'\xlsx\高频数据.xls')
        
    # 获取表格列表
    origin_file_list = os.listdir(r'H:\HighBroAlarm\xlsx')   
    print(origin_file_list)  
    # 循环遍历表格
    for i in origin_file_list:
        #获取文件夹下的文件名
        print(i)
        excel_file_name = i
        #拼接每个文件的路径
        file_path =r'H:\HighBroAlarm\xlsx\%s' % i
        print(file_path)
        # 读取文件内容
        # 跳过0行
        content = pd.read_excel(file_path, skiprows=[0])
        # 有缺陷,会扩展列名
        # content = pd.read_excel(file_path)
        # 重新定义sheet名字
        sheet_name = i[:len(i) - 4]
        # 转换为同一个表多个sheet
        content.to_excel(result, sheet_name, index=False)
        # content.to_excel()
     
    result.save()

    模糊匹配符合条件的Excel

    # 结果文件
    result = pd.ExcelWriter(SETUP_DIR+r'\xlsx\高频数据.xls')
    ##固定路径下的模糊匹配
    for name in glob.glob(r'H:\HighBroAlarm\xlsx\*20191230.xlsx'):
        print (name) 
    ##相对路径下的模糊匹配
    for name in glob.glob(SETUP_DIR+r'\xlsx\*20191230.xlsx'):
        #路径名
        print (name) 
        #模糊匹配到的文件名
        excel_file_name = str(name).split('\\')[-1]
        print(excel_file_name)
        #拼接每个文件的路径
        file_path =SETUP_DIR+r'\xlsx\%s' % excel_file_name
        print(file_path)
        # 读取文件内容
        # 跳过0行
        content = pd.read_excel(file_path, skiprows=[0])
    
        # 重新定义sheet名字
        sheet_name = excel_file_name[:len(excel_file_name) - 4]
        # 转换为同一个表多个sheet
        content.to_excel(result, sheet_name, index=False)
        # content.to_excel()
    result.save()  

     

    展开全文
  • 我:“老板,这是我整理了好久今年的财务报表” “这是1月分的 ,这是2月份的,这是3月份的……一共12张表”(自己...方法步骤:(随便举例子)   第一步:打开Excel新建一张汇总表,点击工具栏【数据】   ...
  • 如何将多个EXCEL表格中的信息合并到一个表格中?多个Excel批量合并的绿色工具 进入网址:http://www.excelfb.com/,点击多个Excel文件合并合并到一个表) 或者多个Excel文件合并(相同名称的Sheet表合并) ...
  • 合并多个excel表格,支持界面操作,操作简单,可浏览文件夹及选择表头行数 使用python实现,界面实现采用wxpython,支持不同格式的表格,需安装anaconda3.5及对应头文件,应用程序较大无法上传,如果需要可以联系...
  • 要将很多个表格合并到一个表格,我们是否是复制粘贴呢?这个对数量少的表格可以,数量大就有点浪费时间了,接下来零壹学长给大家介绍,将多个表格合并到一个表格的几种方法。如下方表格,要将他们合并到一个表格。1 ...
  • 在工作中我们遇到很标题相同的Excel表格合并怎么办? 有的人说VB的宏来编写代码来完成,对于不懂代码的人就只能干瞪眼用复制粘贴 当我们处理10范围以内表格的时候还是能接受这种方式的,处理10-20就有点吃力...
  • 办公的时候想要合并多个Excel表格,一个个来拷贝粘贴,如果文件很多就要花很多时间,前面试了很多种方法,先用office和Python,感觉还是有点麻烦,后面自己写了shell脚本。
  • python-Excel多个表格合并

    万次阅读 多人点赞 2019-02-19 15:35:42
    说明 程序使用说明: (1) 运行”Exce表格合并.exe”文件 (2) 输入要合并的所有.xlsx表格文件所在的盘目录**(注意不要输错目录,输错目录或者乱输入则直接强制退出)** (3) 输入完按回车后程序自动执行,生成...
  • excel合并多个表格的数据
  • 最近有业务需求,将多个表格的数据合并到一起做统计。就是像SQL一样,将很多个合并成一个。 犹豫表格太多,而且相同列的id也不是按一样的顺序排列的,所以复制粘贴的难度加大了。 2、效果图 表1: 表2: 表3: ...
  • excel合并工具,可以合并多个表格数据
  • npoi实现excel多个表格数据分别合并excel数据导入导出,项目源码
  • 原理:将所有excel表格放在一文件夹下。java获取文件夹下的所有excel文件,并且逐一读取excel文件的数据并且存在list集合。创建新的表格,将list集合的数据写入表格即可!代码如下 package excel_many_to_one; ...
  • python合并多个excel表格数据(一)

    万次阅读 2016-11-27 03:26:57
    公司每周有一日常统计任务量的表格,每个表格有十几sheet,分别是不同组员的。每月需要把四-五周表格汇总,统计该组员每月任务量。 不知道excel怎么能弄好,也不会VBA。 希望能一劳永逸地解决这问题,把每
  • Excel作为办公的最基本有软件,当Excel有多个,想统一放到一个表里面的时候,我们一般采用只能一个一个的复制、粘贴;...第二,在此文件夹下新建一个Excel表格,即上图中的合并.xlsm,为可以执行宏文件...
  • 大家平时在进行excel表格文件处理时,经常碰到需要多个excel文件合并成一个excel表格文挡,并且每个文档都保存在一个单独的sheet工作表中,一个一个的复制粘贴又费时又费力。 不过,由于excel支持VBA代码操作,了解...
  • 多个Excel合并成一个Excel表

    万次阅读 多人点赞 2019-06-30 17:38:04
    问题描述: 往往在进行数据统计分析前,会遇到数据分在不同的表里的情况,这时候就需要将多个表的数据先放到一个表的数据里面,然后再进行分析。比如班级需要汇总每个人的信息,几十人每个人都发了个人的信息表,一...
  • 对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel合并成一个excel表? 下面介绍两款在线工具,一键解决excel表合并的问题,不在需要使用Excel公式或者vba。 工具地址:http://www.excelfb.com/...
  • 要求:使用第三方模块操作,比如xlrd、xlwt等,还需要注意一个excel中有多个sheet,也需要合并。 xlrd: 读取表格里的内容 xlwt与xlsxwriter: 将对应的信息写进表格里面,任选其一都可,但这两个模块都不支持修改...
  • python合并Excel ---原创,转载请说明 python操作多个Excel表格合并为同一个表格的不同sheet,并且将sheet名字命名为原表格的表名 缺陷:Excel表格第一行第一列不能空,不然会缺失列 速度很慢...
  • pandas模块 # 如果要处理的是.xls文件,则需要导入xlwt模块 ...# 依次读取多个相同结构的Excel文件并创建DataFrame for fn in(r'C:/Users/SDQ/Desktop/3.xlsx',r'C:\Users\SDQ\Desktop\3.xlsx'): ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,535
精华内容 37,014
关键字:

多个excel表格怎么合并