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('\n\n第'+str(i+1)+'个sheet: ' + sheet.title+'->>>')

    for r in range(1,sheet.max_row+1):
        if r == 1:
            print('\n'+''.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)] ))


输出:

 



 

转载于:https://www.cnblogs.com/momogua/p/8304395.html

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python,可以使用pandas库来读取Excel文件的多个sheet数据。首先,需要安装pandas库,可以使用`pip install pandas`命令进行安装。 接下来,需要使用`pandas`的`read_excel()`函数来读取Excel文件。这个函数可以接受一个参数`sheet_name`,用于指定要读取sheet名称或索引。 例如,如果Excel文件有两个sheet分别为"Sheet1"和"Sheet2",可以通过以下代码读取它们的数据: ```python import pandas as pd # 读取Excel文件 data = pd.read_excel('filename.xlsx', sheet_name=['Sheet1', 'Sheet2']) # 获第一个sheet的数据 sheet1_data = data['Sheet1'] # 获sheet的数据 sheet2_data = data['Sheet2'] ``` 在以上代码,`filename.xlsx`是要读取Excel文件的路径。通过`sheet_name`参数指定了要读取sheet名称,使用了一个字典的方式将sheet名称和对应的数据存储在`data`变量。 通过`data`变量,可以通过索引的方式获到每个sheet的数据,存储在不同的变量,如`sheet1_data`和`sheet2_data`。 除了使用字典的方式读取多个sheet外,还可以使用其他的方式,如读取所有的sheet数据或者读取指定索引的sheet数据。详细的用法可以参考`pandas`官方文档。 这样就可以通过pandas库实现在Python读取Excel文件的多个sheet数据了。 ### 回答2: 在Python,如果想要使用pandas库读取Excel文件的多个sheet数据,可以按照以下步骤进行操作。 首先,需要安装pandas库。可以使用pip命令进行安装:pip install pandas 接下来,导入pandas库和openpyxl库(用于支持Excel文件的读写操作): import pandas as pd import openpyxl 然后,利用pandas的read_excel函数读取整个Excel文件excel_file = pd.ExcelFile('文件路径/文件名.xlsx') 读取整个Excel文件的所有sheet名称: sheet_names = excel_file.sheet_names 遍历所有的sheet名称,读取每个sheet的数据并存储到字典: data_dict = {} for sheet_name in sheet_names: data_dict[sheet_name] = excel_file.parse(sheet_name) 最后,可以通过data_dict字典访问到每个sheet的数据: for sheet_name, data in data_dict.items(): print("Sheet名称:", sheet_name) print("Sheet数据:", data) 注意事项: 1. 需要确定Excel文件的路径和文件名,并将其替换到代码的'文件路径/文件名.xlsx'部分。 2. 需要确保Excel文件支持.xlsx格式,否则可能需要使用不同的库或方法进行读取。 3. 如果Excel文件的数据包含特殊格式或公式,需要进行额外的处理或转换。 ### 回答3: Python的pandas库提供了一种方便的方法来读取Excel文件的多个sheet数据。要读取多个sheet数据,我们需要使用pandas的ExcelFile函数来打开Excel文件,然后使用parse方法来读取每个sheet的数据。 首先,我们需要安装pandas库。在命令行运行以下命令进行安装: pip install pandas 接下来,我们可以使用以下代码来读取多个sheet数据: import pandas as pd # 使用ExcelFile函数打开Excel文件 excel_file = pd.ExcelFile('filename.xlsx') # 获所有sheet的名称 sheet_names = excel_file.sheet_names # 创建一个空的字典来存储每个sheet的数据 data = {} # 遍历每个sheet的名称 for sheet_name in sheet_names: # 使用parse方法读取每个sheet的数据 data[sheet_name] = excel_file.parse(sheet_name) # 打印每个sheet的数据 for sheet_name, sheet_data in data.items(): print(f"Sheet '{sheet_name}':") print(sheet_data) 上述代码,我们首先使用ExcelFile函数打开Excel文件,并使用sheet_names属性获所有sheet的名称。然后,我们创建一个空的字典来存储每个sheet的数据。 接下来,我们使用for循环遍历每个sheet的名称,并使用parse方法读取每个sheet的数据。将每个sheet的名称作为字典的键,将每个sheet的数据作为字典的值存储起来。 最后,我们使用for循环打印每个sheet的数据。这样,我们就可以读取并打印出Excel文件的多个sheet数据。 以上是使用Python的pandas库来读取Excel文件多个sheet数据的方法。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值