使用python读取文件夹的图片的图片名并写入excel表格

您所在的位置:网站首页 excel如何提取文件夹内文件名称和内容 使用python读取文件夹的图片的图片名并写入excel表格

使用python读取文件夹的图片的图片名并写入excel表格

2023-11-12 06:48| 来源: 网络整理| 查看: 265

有的时候,我们需要读取图片名,写入表格中,以便结合图片的其他信息,做进一步的分析。 假如,现在要读取存放在E盘的origin_file文件夹,读取里面的图片名将其写入到excel文件img.xlsx中。 存放在E盘的origin_file文件夹 首先,需要读取图片文件夹路径

import pandas as pd import os os.chdir('E:\\') #1.读取图片文件夹路径 path='origin_file'

然后,pandas建立空白excel文件“img.xlsx”

#2.建立空白excel文件“img.xlsx” writer=pd.ExcelWriter("img.xlsx")

然后,遍历图片文件夹里的文件,并将文件名写入新的列表

#3.将图片文件夹里的文件名写入新的列表 #3.1遍历图片文件夹 for root,dirs,files in os.walk(path): #os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。 # root 表示当前正在访问的文件夹路径 # dirs 表示该文件夹下的子目录名list # files 表示该文件夹下的文件list list=[] #建立新的列表list #3.2遍历文件list里的所有的图片文件写入新列表list中 for file in files: file=file.rstrip(".jpg") #将图片名末尾的“.jpg”去掉 list.append(file) #将图片名加入新列表list中

然后,将列表list嵌套进字典data中,转换成dataframe格式储存在开始建立的excel中

#4.将列表list嵌套进字典dict_中 dict_={'filename':list} #键名为新建表格的字段名,值为以图片名为元素的列表 #5.转换成dataframe格式 df=pd.DataFrame(dict_) #6.储存在开始建立的excel中 df.to_excel(writer,'sheet1',startcol=0,index=False ) #工作表名称为“sheet1”,开始列为第一列,不需要索引 #7.保存文件 writer.save()

文件夹里的图片的图片名就被写入excel表格中了 图片名被写入excel表格中思路总结: 读取目标文件夹——建立新excel——图片名写入列表——列表嵌套字典转成dataframe格式——保存在excel 完整代码如下:

import pandas as pd import os os.chdir('E:\\') #1.读取图片文件夹路径 path='origin_file' #2.建立空白excel文件“img.xlsx” writer=pd.ExcelWriter("img.xlsx") #3.将图片文件夹里的文件名写入新的列表 #3.1遍历图片文件夹 for root,dirs,files in os.walk(path): #os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。 # root 表示当前正在访问的文件夹路径 # dirs 表示该文件夹下的子目录名list # files 表示该文件夹下的文件list list=[] #建立新的列表list #3.2遍历文件list里的所有的图片文件写入新列表list中 for file in files: file=file.rstrip(".jpg") #将图片名末尾的“.jpg”去掉 list.append(file) #将图片名加入新列表list中 #4.将列表list嵌套进字典dict_中 dict_={'filename':list} #键名为新建表格的字段名,值为以图片名为元素的列表 #5.转换成dataframe格式 df=pd.DataFrame(dict_) #6.储存在开始建立的excel中 df.to_excel(writer,'sheet1',startcol=0,index=False ) #工作表名称为“sheet1”,开始列为第一列,不需要索引 #7.保存文件 writer.save()

创作不易,请大家多多点赞,收藏,支持一下!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3