这篇文章给大家分享的是有关Python如何实现按目录层级输出文件名并保存为excel的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
当我们发现电脑的内存很满,或平时工作中文件夹管理不清晰,导致里面的文件数据很杂乱,查找很不方便,一个一个文件夹去看去找然后删除又很浪费时间!!
代码如下(示例):
# encoding=utf-8
import os
import xlwt
from xlwt.Worksheet import Worksheet
import time
path = 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
# 将字典数据存入Excel
def 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 True
if __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')
感谢各位的阅读!关于“Python如何实现按目录层级输出文件名并保存为excel”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。