python读取文件夹中图片的图片名并写入excel表格
短信预约 -IT技能 免费直播动态提醒
有的时候,我们需要读取图片名,写入表格中,以便结合图片的其他信息,做进一步的分析。
假如,现在要读取存放在E盘的origin_file文件夹,读取里面的图片名将其写入到excel文件img.xlsx中。
首先,需要读取图片文件夹路径
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嵌套进字典data中
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——图片名写入列表——列表嵌套字典转成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嵌套进字典data中
dict_={'filename':list} #键名为新建表格的字段名,值为以图片名为元素的列表
#5.转换成dataframe格式
df=pd.DataFrame(dict_)
#6.储存在开始建立的excel中
df.to_excel(writer,'sheet1',startcol=0,index=False ) #工作表名称为“sheet1”,开始列为第一列,不需要索引
#7.保存文件
writer.save()
到此这篇关于python读取文件夹中图片的图片名并写入excel表格的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341