温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-26 09:58:07 来源:亿速云 阅读:208 作者:iii 栏目:大数据

本篇内容介绍了“Python+os+openpyxl怎么批量获取Excel的文件名和最大行数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 提出需求

这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景。

2. 解题思路

1)导入相关库
import pandas as pd
from openpyxl import load_workbook
from openpyxl import Workbook
import os 
   
2)获取文件的路径
path = os.getcwd()
print(path)
 

结果如下:

Python+os+openpyxl怎么批量获取Excel的文件名和最大行数  
 
3)遍历文件夹,获取文件夹下的文件(包括文件夹和文件)
for path,dirs,files in os.walk(path):
    print(files)
 

结果如下:

Python+os+openpyxl怎么批量获取Excel的文件名和最大行数  
 
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
 

结果如下:

Python+os+openpyxl怎么批量获取Excel的文件名和最大行数  
 
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
 

结果如下:

Python+os+openpyxl怎么批量获取Excel的文件名和最大行数  
 
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")
 

结果如下:

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

3. 完整代码

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

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

“Python+os+openpyxl怎么批量获取Excel的文件名和最大行数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI