1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python+os+openpyxl 批量获取Excel的文件名和最大行数

Python+os+openpyxl 批量获取Excel的文件名和最大行数

时间:2022-07-12 20:00:42

相关推荐

Python+os+openpyxl  批量获取Excel的文件名和最大行数

1. 提出需求

这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景。其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上思路吧!

2. 解题思路

为了让大家能够快速学会,我这里会将问题拆解为各个小部分,也希望能够帮助到大家。

1)导入相关库

import pandas as pdfrom openpyxl import load_workbookfrom openpyxl import Workbookimport 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_rowlis.append(table)lis.append(max_row)final_data.append(lis)final_data

结果如下:

6)新建一个Excel表格,并循环插入数据

new_wb = Workbook()sheet = new_wb.activesheet.title = "最终数据"sheet.append(["文件名 ","行数"])for row in final_data:sheet.append(row)new_wb.save(filename="结果.xlsx")

结果如下:

3. 完整代码

为了文章的完整性,我在文章最后放上我的代码。但是限于文章篇幅,最后我只粘贴一张图片,详细代码,大家可以去文末获取。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。