Python 将文件夹中的图片信息导入到 Excel 的表格

引言

在数据处理和管理的日常任务中,经常需要将文件夹中的图片文件信息(如文件名、路径、创建日期、大小、分辨率等)整理成一个 Excel 表格。这篇博客将介绍如何使用 Python 中的 wxPython 模块创建一个 GUI 应用,用户可以通过这个应用选择一个文件夹,并将其中的图片信息导入到 Excel 表格中。
C:\pythoncode\new\jpeginfoTOexcel.py

准备工作

在开始之前,请确保已安装以下 Python 模块:

  • wxPython:用于创建 GUI 界面
  • openpyxl:用于操作 Excel 文件
  • Pillow:用于处理图像文件,获取图片分辨率

使用以下命令安装这些模块:

pip install wxPython openpyxl Pillow

实现步骤

第一步:创建 wxPython 界面

首先,我们需要创建一个简单的 GUI 界面,允许用户选择一个文件夹,并点击按钮生成包含图片信息的 Excel 文件。

import wx
import os
from openpyxl import Workbook
from PIL import Image
from datetime import datetime

class ImageInfoApp(wx.Frame):
    def __init__(self, parent, title):
        super(ImageInfoApp, self).__init__(parent, title=title, size=(500, 300))
        
        panel = wx.Panel(self)
        vbox = wx.BoxSizer(wx.VERTICAL)
        
        self.dir_picker = wx.DirPickerCtrl(panel, message="Choos
### 使用Python读取指定文件夹内所有图片名称并保存到Excel文件 为了实现这一目标,可以采用`os`模块来遍历文件夹中的所有文件,并通过判断文件扩展名来筛选出图片文件。接着利用`pandas`库创建DataFrame对象存储这些图片名称,最后将其写入到Excel文件中。 以下是具体实现方式: #### 导入库 首先需要导入必要的库,包括用于操作系统的`os`以及处理数据框的`pandas`。 ```python import os import pandas as pd ``` #### 获取图片列表 定义一个函数用来获取特定目录下的所有图片文件名。这里假设只考虑常见的几种图片格式如`.jpg`, `.jpeg`, `.png`, `.gif`. ```python def get_image_files(directory): image_extensions = ['.jpg', '.jpeg', '.png', '.gif'] images = [] for filename in os.listdir(directory): ext = os.path.splitext(filename)[1].lower() if ext in image_extensions: images.append(filename) return images ``` 此部分逻辑来源于对不同类型的文件进行过滤的需求[^2]。 #### 创建DataFrame并写入Excel 接下来把获得的图片名字存放到Pandas的数据结构里,再调用相应的方法导出至Excel文档。 ```python folder_path = r'path_to_your_folder' images_list = get_image_files(folder_path) df_images = pd.DataFrame(images_list, columns=['Image Name']) output_excel = 'image_names.xlsx' if not os.path.exists(output_excel): df_images.to_excel(output_excel, index=False) else: existing_df = pd.read_excel(output_excel) updated_df = pd.concat([existing_df, df_images], ignore_index=True).drop_duplicates(subset='Image Name') updated_df.to_excel(output_excel, index=False) ``` 上述代码片段展示了当目标Excel不存在时直接写出;如果已存在,则先加载现有内容并与新收集的信息合并去重后再更新整个工作簿的内容[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值