当前位置:   article > 正文

如何用Python操作多个Excel文件合并(步骤清晰,一看就懂)_学们借助人工智能和spyder,将上面5个excel合并成一个excel文

学们借助人工智能和spyder,将上面5个excel合并成一个excel文

一、前言

想必工作中,会遇见将多个Excel文件合并成一个Excel文件,接下来完成如下步骤即可完成合并

注意注意:前提一定是列数及字段名称均相同

二、使用步骤

代码如下:

# -*- coding: utf-8 -*-


#1.导入需要使用的包
import xlrd  #读取Excel文件的包
import xlsxwriter   #将文件写入Excel的包




#2.打开一个excel文件
def open_xls(file):
    f = xlrd.open_workbook(file)
    return f


#3.获取excel中所有的sheet表
def getsheet(f):
    return f.sheets()


#4.获取sheet表的行数
def get_Allrows(f,sheet):
    table=f.sheets()[sheet]
    return table.nrows


#5.读取文件内容并返回行内容
def getFile(file,shnum):
    f=open_xls(file)
    table=f.sheets()[shnum]
    num=table.nrows
    for row in range(num):
        rdata=table.row_values(row)
        datavalue.append(rdata)
    return datavalue


#6.获取sheet表的个数
def getshnum(f):
    x=0
    sh=getsheet(f)
    for sheet in sh:
        x+=1
    return x






#7.函数入口
if __name__=='__main__':
    #定义要合并的excel文件列表
    allxls=['订单报表-2019-01.xls',
            '订单报表-2019-02.xls',
            '订单报表-2019-03.xls',
            '订单报表-2019-04.xls',
            '订单报表-2019-05.xls',
            '订单报表-2019-06.xls',
            '订单报表-2019-07.xls',
            '订单报表-2019-08.xls',
            '订单报表-2019-09.xls',
            '订单报表-2019-10.xls',
            '订单报表-2019-11.xls',
            '订单报表-2019-12.xls',
            '订单报表-2020-01.xls',
            '订单报表-2020-02.xls',
            '订单报表-2020-03.xls',
            '订单报表-2020-04.xls',
            '订单报表-2020-05.xls',
            '订单报表-2020-06.xls',
            '订单报表-2020-07.xls',
            '订单报表-2020-08.xls',
            '订单报表-2020-09.xls',
            '订单报表-2020-10.xls',
            '订单报表-2020-11.xls',
            '订单报表-2020-12.xls',
            '订单报表-2021-01.xls',
            '订单报表-2021-02.xls',
            '订单报表-2021-03.xls',
            '订单报表-2021-04.xls',
            '订单报表-2021-05.xls',
            '订单报表-2021-06.xls',
            '订单报表-2021-07.xls'
            ] #列表中的为要读取文件的路径
    #存储所有读取的结果
    datavalue=[]
    for fl in allxls:
        f=open_xls(fl)
        x=getshnum(f)
        for shnum in range(x):
            print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
            rvalue=getFile(fl,shnum)
    #定义最终合并后生成的新文件
    endfile='结果.xls'
    wb=xlsxwriter.Workbook(endfile)
    #创建一个sheet工作对象
    ws=wb.add_worksheet()
    for a in range(len(rvalue)):
        for b in range(len(rvalue[a])):
            c=rvalue[a][b]
            ws.write(a,b,c)
    wb.close()

    print("文件合并完成")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106

用Python读取后效果如图:

(数据为网上下载的虚拟数据,仅供学习数据上的参考使用)
在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号