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



被折叠的 条评论
为什么被折叠?



