这篇文章给大家分享的是有关Python如何实现按目录层级输出文件名并保存为excel的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、问题描述
当我们发现电脑的内存很满,或平时工作中文件夹管理不清晰,导致里面的文件数据很杂乱,查找很不方便,一个一个文件夹去看去找然后删除又很浪费时间!!
二、python按目录层级保存文件名
1.源码
代码如下(示例):
# encoding=utf-8import osimport xlwtfrom xlwt.Worksheet import Worksheetimport timepath = r'E:\py\python3.7\test'file_dicts = {}# 将目录名、文件名读取为字典数据def find_dir_name(path,key=''): file_names = os.listdir(path) file_dict = {} for file_name in file_names: print('当前目录:%s' % path+'\\'+file_name) file_dict[file_name] = {} if os.path.isdir(path+'\\'+file_name): file_dict[file_name] = find_dir_name(path+'\\'+file_name, file_name) else: pass return file_dict# 将字典数据存入Exceldef edit_excel(worksheet,data): # 遍历字典数据 global row_number, row_data for key,value in data.items(): if value: row_data.append(key) # 如果value有值,则进行一次遍历 edit_excel(worksheet,value) else: # 若value值为空,则将key写入sheet # 进行写入excle col = 0 for name in row_data: print('位置:%d,%d;值:%s' % (row_number,col,name)) worksheet.write(row_number,col,name) col = col+1 print('位置:%d,%d;值:%s' % (row_number,col,name)) worksheet.write(row_number,col,key) row_number = row_number+1 if row_data: row_data.pop() # time.sleep(1) return Trueif __name__ == '__main__': # mm = str(find_dir_name(path,key)) # f = open('file_name.txt', 'wb') # f.write(mm.encode('utf-8')) # f.close() data = find_dir_name(path) # 创建工作表 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True) # 临时记录一行数据 row_data = [] row_number = 0 edit_excel(worksheet,data) workbook.save('转化后的excel文件名称.xls')
2.运行效果(部分截图)
感谢各位的阅读!关于“Python如何实现按目录层级输出文件名并保存为excel”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!