Python+os+openpyxl 批量获取Excel的文件名和最大行数
2023-03-20 14:42:03 时间
1. 提出需求
这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景。其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上思路吧!
2. 解题思路
为了让大家能够快速学会,我这里会将问题拆解为各个小部分,也希望能够帮助到大家。
1)导入相关库
import pandas as pd
from openpyxl import load_workbook
from openpyxl import Workbook
import os
2)获取文件的路径
path = os.getcwd()
print(path)
结果如下:
3)遍历文件夹,获取文件夹下的文件(包括文件夹和文件)
for path,dirs,files in os.walk(path):
print(files)
结果如下:
4)筛选出以.xlsx结尾的Excel表格
tables = []
path = os.getcwd()
for path,dirs,files in os.walk(path):
for i in files:
if i.split(".")[1] == "xlsx":
tables.append(i)
tables
结果如下:
5)组织数据,便于后续写入到Excel中
这里特别说明一点,组织好的数据应该是一个列表嵌套,内层的每一个列表,就是Excel表格中的每一行。
final_data = []
for table in tables:
lis = []
wb = load_workbook(table)
sheet = wb[wb.sheetnames[0]]
max_row = sheet.max_row
lis.append(table)
lis.append(max_row)
final_data.append(lis)
final_data
结果如下:
6)新建一个Excel表格,并循环插入数据
new_wb = Workbook()
sheet = new_wb.active
sheet.title = "最终数据"
sheet.append(["文件名 ","行数"])
for row in final_data:
sheet.append(row)
new_wb.save(filename="结果.xlsx")
结果如下:
3. 完整代码
为了文章的完整性,我在文章最后放上我的代码。但是限于文章篇幅,最后我只粘贴一张图片,详细代码,大家可以去文末获取。
相关文章
- 不负好时光——《Netty in Action》中文版《Netty实战》翻译手记
- 别忙着敲代码了,快收下这波安利!
- 什么?你还不知道特拉维夫?!
- 不如到雄县的街头走一走
- Cookies 的跨域脚本攻击 - Github 迁移域名的安全详解
- 解决linux中tracker大量占用CPU的问题
- LINUX修改文件权限
- Linux系统硬盘读写测试
- Pinterest架构:两年内月PV从零到百亿
- 使用top命令查看CPU负载
- Linux压缩那些事儿
- 大型发布会现场的 Wi-Fi 应该如何搭建?
- Ubuntu 系统中通过火狐OS模拟器轻松体验 Firefox OS
- 安装 Ubuntu 13.04 后要做的六件事
- 成人网站性能提升20倍之经验谈
- 优秀的开源系统恢复软件
- Libreoffice 4.0.3 发布 – PPA 安装源
- 在u盘上安装linux 打造你的portable linux system.
- 在 Windows 世界中使用 Linux
- Vmware 安装 Fedora 18 注意事项