• python读取excel文件中所有sheet表格:openpyxl模块(二)


    通过openpyxl模块 循环遍历excel文件中所有sheet表格。

    excel文件 e:\t.xlsx ,有2个sheet:  

    sales

    客户编码	年月	销售额(万元)
    JLF0001	201601 	380.911
    JLF0002	201601 	670.015
    JLF0003	201601 	193.208
    JLF0004	201601 	34.061
    JLF0005	201601 	565.88
    SJLH0006	201601 	910.788
    SJLH0007	201601 	248.901
    SJLH0008	201601 	525.305
    SJLH0009	201601 	333.548
    LG0010	201601 	1031.233
    LG0011	201601 	171.034
    LG0012	201601 	893.994
    LG0013	201601 	631.179
    LG0014	201601 	752.132
    YF0015	201601 	1010.865
    YF0016	201601 	961.7
    YF0017	201601 	641.959
    DRF0018	201601 	156.505
    DRF0019	201601 	257.043
    DRF0020	201601 	322.802
    DRF0021	201601 	493.298
    DRF0022	201601 	964.793
    PFLH0023	201601 	720.269
    PFLH0024	201601 	508.636
    PFLH0025	201601 	166.223
    PFLH0026	201601 	970.758
    JLF0001	201602 	565.458
    JLF0002	201602 	242.569
    JLF0003	201602 	251.056
    JLF0004	201602 	73.336
    JLF0005	201602 	478.217
    SJLH0006	201602 	423.748
    SJLH0007	201602 	760.715
    SJLH0008	201602 	740.672
    SJLH0009	201602 	976.413
    LG0010	201602 	891.867
    LG0011	201602 	196.07
    LG0012	201602 	795.677
    LG0013	201602 	318.742
    LG0014	201602 	374.868
    YF0015	201602 	698.005
    YF0016	201602 	129.207
    YF0017	201602 	668.375
    DRF0018	201602 	895.893
    DRF0019	201602 	165.05
    DRF0020	201602 	989.937
    DRF0021	201602 	281.775
    DRF0022	201602 	493.085
    PFLH0023	201602 	965.011
    PFLH0024	201602 	705.788
    PFLH0025	201602 	381.18
    PFLH0026	201602 	494.359

    store

    客户名称	客户编码	门店经理	联系电话	总公司
    家乐福华翔店	JLF0001	张小	13885543175	家乐福
    家乐福鲁班店	JLF0002	李小	13947307567	家乐福
    家乐福双井店	JLF0003	王五	13814451372	家乐福
    家乐福华强北店	JLF0004	李六	13431835911	家乐福
    家乐福九龙店	JLF0005	刘大	13907503491	家乐福
    世纪联华大宁店	SJLH0006	张三	13656648200	世纪联华
    世纪联华回龙观店	SJLH0007	李四	13595016793	世纪联华
    世纪联华五角场店	SJLH0008	黄三	13571233335	世纪联华
    世纪联华中山公园店	SJLH0009	吴经理	13878398999	世纪联华
    乐购三里桥店	LG0010	洪经理	13471662230	乐购
    乐购西红门店	LG0011	阮经理	13574331991	乐购
    乐购六里桥店	LG0012	杨经理	13593898873	乐购
    乐购朝阳门店	LG0013	朴经理	13918551523	乐购
    乐购天宁寺店	LG0014	佘经理	13875581623	乐购
    益丰大药房静安寺店	YF0015	何经理	13631153296	益丰大药房
    益丰大药房普陀店	YF0016	吕经理	13636974620	益丰大药房
    益丰大药房长安大街店	YF0017	赵经理	13985911395	益丰大药房
    大润发华翔店	DRF0018	钱经理	13778777529	大润发
    大润发鲁班店	DRF0019	孙经理	13562409883	大润发
    大润发泗泾店	DRF0020	李经理	13436440586	大润发
    大润发松江店	DRF0021	周经理	13445030753	大润发
    大润发新源里店	DRF0022	吴经理	13633069663	大润发
    卜蜂莲花杨高北路店	PFLH0023	郑经理	13572247063	卜蜂莲花
    卜蜂莲花杨川沙店	PFLH0024	王经理	13946094869	卜蜂莲花
    卜蜂莲花杨高南路店	PFLH0025	冯经理	13612290949	卜蜂莲花
    卜蜂莲花杨吴中路店	PFLH0026	陈经理	13925668293	卜蜂莲花

    操作步骤:

    (1)用load_workbook函数打开excel文件,返回一个工作簿对象

    (2)用工作簿对象获取所有的sheet

    (3)第一个for循环遍历所有sheet

    (4)每次遍历sheet时,先用get_sheet_by_name获取要遍历的sheet

    (5)开始下一个for循环,循环遍历这个sheet中的所有行

    (6)在遍历每一行的for循环中,遍历每一列,把每一列的值,通过join函数拼接起来,这里用ljust函数进行左对齐


    代码如下:

    #  -*- coding:gbk -*-
    
    import openpyxl
    
    wb = openpyxl.load_workbook('e:\t.xlsx')
    
    #获取workbook中所有的表格
    sheets = wb.get_sheet_names()
    
    print(sheets)
    
    #循环遍历所有sheet
    for i in range(len(sheets)):
        sheet= wb.get_sheet_by_name(sheets[i])
        
        print('
    
    第'+str(i+1)+'个sheet: ' + sheet.title+'->>>')
    
        for r in range(1,sheet.max_row+1):
            if r == 1:
                print('
    '+''.join([str(sheet.cell(row=r,column=c).value).ljust(17) for c in range(1,sheet.max_column+1)] ))
            else:
                print(''.join([str(sheet.cell(row=r,column=c).value).ljust(20) for c in range(1,sheet.max_column+1)] ))
    


    输出:



  • 相关阅读:
    算法提高 12-1三角形
    poj3723_Conscription
    算法提高 8-1因式分解
    算法提高 道路和航路
    算法训练 安慰奶牛
    最短路问题(Bellman/Dijkstra/Floyd)
    最小生成树 prime+heap
    算法训练 最短路
    算法训练 最大的算式
    poj3255 Roadblocks
  • 原文地址:https://www.cnblogs.com/momogua/p/8304395.html
Copyright © 2020-2023  润新知