python 查看excel 多少行_13行代码实现对Excel自动分表(python)

988b484ba11619523eb032408658db63.png

我们工作中经常要遇到这种情况:需要把一个总的excel工作薄,按‘部门’字段分成N个工作薄,单独发给不同的部门。

通过网上搜索,有方方格子等插件能实现部分功能。但遇到工作薄下有多个工作表时仍然不好操作。比如我现在遇到的问题:

2b54217c1e7bf5b835bd7f3910b3f6cb.png
1、要按渠道名称分成不同的工作薄

39bc92d3f745d33c25433793928de589.png
2、每个工作薄下又有很多工作表,每个表都要按部门分开

这种情况,插件也不好使,想了想便考虑用python来解决。下面来说解决思路和代码。

1、首先导包,设置目标工作表的路径。

import 

2、并获取工作薄下的所有表名,并设置按哪个字段分表(我这里是按'渠道名称')。

#获取工作薄所有表名

3、接下来就是分表了,我这里的思路是:建立一个某个渠道的工作薄,然后再把这个渠道相关的表分别写入不同的sheet。用两个for循环实现,代码不复杂,关键是理清思路。

#分表

好了,基本就是这样了,看看效果。

a1196692561676d35567a937b2d766ee.png
各个部门的工作薄

094c1be76389d5ebfd70647ccbd89a0c.png
每个工作薄下有相关的表

可以看到效果很好。

后边想了想,还是有优化的空间比如,在循环里面频繁的读取文档,影响了一定的速度。可以先全部读取进来,建立个总的字典,再去一一筛选。这个后边再去优化了。

附上整体代码。

import 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要读取Excel文件的第二个分表,可以使用openpyxl库的`sheetnames`属性来获取所有分表的名称,然后选择第二个分表读取。以下是示例代码: ```python import openpyxl # 读取Excel文件 myBook = openpyxl.load_workbook('2021.08.13(result).xlsx') # 获取所有分表的名称 sheet_names = myBook.sheetnames # 选择第二个分表读取 second_sheet = myBook\[sheet_names\[1\]\] # 读取数据 data = list(second_sheet.values) # 打印数据 for row in data: print(row) ``` 请注意,`sheetnames`属性返回的是一个列,其包含所有分表的名称。根据需要选择第二个分表的索引,并使用该索引获取分表对象。然后,可以使用`values`属性获取分表的数据。 #### 引用[.reference_title] - *1* [PythonExcel格按内容拆分为多个格](https://blog.csdn.net/weixin_45216861/article/details/128085151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python读取excel格并通过折线图可视化显示](https://blog.csdn.net/weixin_43213117/article/details/105019171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值