Python 实现把一个文件夹下所有的文件名和绝对路径(包括子文件夹)存入execl表格

本文介绍了一种使用Python将指定目录下的所有文件及其绝对路径批量转换为Excel表格的方法。通过遍历目录结构并利用xlwt库,实现了文件信息的自动化整理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

初衷:主要是为了方便一个目录下所有文件的查询,虽然可以直接使用搜索功能,但是首先得知道文件名,转成execl形式可以使用筛选方便查找。
python:3.8
编辑器:VS Code
依赖库:xlwt
功能:把一个文件夹下所有的文件名和绝对路径(包括子文件夹)存入execl表格

序号最外层文件夹文件名文件绝对路径

效果图1在这里插入图片描述

效果图2

在这里插入图片描述

效果图3

在这里插入图片描述

源码1

import os
# 操作excel模块 pip install xlwt 安装一下
import xlwt  
import sys


# sys.path[0]为要获取当前路径,file_name_list.xls为要写入的文件名
file_path = sys.path[0] + '\\file_name_list.xls'  
# 新建一个excel
f = xlwt.Workbook(encoding='utf-8', style_compression=0)  
# 新建一个sheet
sheet = f.add_sheet('sheet1')  
# 文件计数
num = 0
# 变量path路径下所有的文件夹和文件名
path = input("请输入你需要转换文件夹的绝对路径:")

# print("len(path)=" + str(len(path)))

# 参数分别代表行,列,写入内容,首行写入列描述
sheet.write(0, 0, "序号")
sheet.write(0, 1, "最外层文件夹")
sheet.write(0, 2, "文件名")
sheet.write(0, 3, "文件绝对路径")

# 遍历所有目录文件
for root, dirs, files in os.walk(path):
    # print('---------root---------')
    # print(root)

    for name in files:
        file_name = os.path.join(root,name)
        print("文件绝对路径:" + file_name)
        relative_path = file_name[len(path)+1:]
        # print(relative_path)
        relative_path_arr = relative_path.split("\\")
        # print(relative_path_arr)
        folder = ""
        if len(relative_path_arr) == 1:
            print("最外层文件夹:" + folder)
        else:
            folder = relative_path_arr[0]
            print("最外层文件夹:" + folder)
        print("文件名:" + relative_path_arr[-1])

        # 参数分别代表行,列,写入内容
        sheet.write(num + 1, 0, num + 1)
        sheet.write(num + 1, 1, folder)
        sheet.write(num + 1, 2, relative_path_arr[-1])
        sheet.write(num + 1, 3, file_name)
        num = num + 1
    print('\n')

print("文件名数量:" + str(num))  # 显示文件名数量

f.save(file_path)

print("运行完毕!")
os.system("pause")

源码2(如果文件在根目录,则会填充在 最外层文件夹 列)

import os
# 操作excel模块 pip install xlwt 安装一下
import xlwt  
import sys


# sys.path[0]为要获取当前路径,file_name_list.xls为要写入的文件名
file_path = sys.path[0] + '\\file_name_list.xls'  
# 新建一个excel
f = xlwt.Workbook(encoding='utf-8', style_compression=0)  
# 新建一个sheet
sheet = f.add_sheet('sheet1')  
# 文件计数
num = 0
# 变量path路径下所有的文件夹和文件名
path = input("请输入你需要转换文件夹的绝对路径:")

# print("len(path)=" + str(len(path)))

# 参数分别代表行,列,写入内容,首行写入列描述
sheet.write(0, 0, "序号")
sheet.write(0, 1, "最外层文件夹")
sheet.write(0, 2, "文件名")
sheet.write(0, 3, "文件绝对路径")

# 遍历所有目录文件
for root, dirs, files in os.walk(path):
    # print('---------root---------')
    # print(root)

    for name in files:
        file_name = os.path.join(root,name)
        print("文件绝对路径:" + file_name)
        relative_path = file_name[len(path)+1:]
        # print(relative_path)
        relative_path_arr = relative_path.split("\\")
        # print(relative_path_arr)
        print("最外层文件夹:" + relative_path_arr[0])
        print("文件名:" + relative_path_arr[-1])

        # 参数分别代表行,列,写入内容
        sheet.write(num + 1, 0, num + 1)
        sheet.write(num + 1, 1, relative_path_arr[0])
        sheet.write(num + 1, 2, relative_path_arr[-1])
        sheet.write(num + 1, 3, file_name)
        num = num + 1
    print('\n')

print("文件名数量:" + str(num))  # 显示文件名数量

f.save(file_path)

print("运行完毕!")
os.system("pause")

源码3(由openAI自动生成)

import os
import xlwt

# 需要遍历的文件夹路径
folder_path = "C:\example\folder"

# 创建一个Excel工作簿
workbook = xlwt.Workbook()

# 在工作簿中添加一个工作表
worksheet = workbook.add_sheet("Sheet1")

# 在工作表中添加表头,即文件名和绝对路径
worksheet.write(0, 0, "File Name")
worksheet.write(0, 1, "Absolute Path")

# 遍历文件夹中的所有文件和子文件夹
for (dirpath, dirnames, filenames) in os.walk(folder_path):
    for filename in filenames:
        # 计算当前文件的绝对路径
        absolute_path = os.path.join(dirpath, filename)
        # 在工作表中写入文件名和绝对路径
        worksheet.write(row, 0, filename)
        worksheet.write(row, 1, absolute_path)
        # 更新行号
        row += 1

# 保存工作簿
workbook.save("file_list.xls")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Love丶伊卡洛斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值