py获取当前目录下每个文件夹的照片(JPG格式)数量

引言:某航测项目中外业人员需每日汇总各架次的照片数量,供内业人员核查上传完整性。传统方法存在效率瓶颈:一是手动打开文件夹统计文件数并减去非照片文件,二是通过目录搜索".JPG"后分组排序统计。当架次达数十上百次时,此类操作耗时费力。现提供自动化脚本方案,可一键统计各文件夹内照片数量并生成汇总表格,显著提升工作效率。

适用场景
例:汇总表

例:架次文件夹
 传统方法
传统方法1
传统方法2
代码

import os
from collections import defaultdict
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment

def count_jpg_files():
    result = defaultdict(int)
    
    # 遍历目录统计文件
    for root, _, files in os.walk('.'):
        if root == '.':
            continue
            
        folder_name = os.path.basename(root)
        jpg_count = sum(1 for f in files if f.lower().endswith(('.jpg', '.jpeg')))
        
        if jpg_count > 0:
            result[folder_name] = jpg_count
    
    # 创建Excel工作簿
    wb = Workbook()
    ws = wb.active
    ws.title = "JPG统计结果"
    
    # 设置表头样式
    header_font = Font(bold=True)
    header_alignment = Alignment(horizontal='center')
    
    # 写入表头
    ws.append(["文件夹名称", "图片数量"])
    for cell in ws[1]:
        cell.font = header_font
        cell.alignment = header_alignment
    
    # 写入数据并自动调整列宽
    for folder, count in sorted(result.items()):
        ws.append([folder, count])
    
    # 调整列宽
    ws.column_dimensions['A'].width = 40
    ws.column_dimensions['B'].width = 15
    
    # 保存文件
    wb.save('JPG_统计结果.xlsx')
    print("统计完成,结果已保存到 JPG_统计结果.xlsx")

if __name__ == '__main__':
    count_jpg_files()
相关库

以上代码需要安装xlwt库及openpyxl来支持对Excel工作簿的创建和修改

打开命令提示符输入以下代码并回车:

pip install xlwt
pip install openpyxl
运行效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值