Python實現(xiàn)把一個文件夾下所有的文件名和絕對路徑存入execl表格
前言
初衷:主要是為了方便一個目錄下所有文件的查詢,雖然可以直接使用搜索功能,但是首先得知道文件名,轉(zhuǎn)成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')
# 文件計數(shù)
num = 0
# 變量path路徑下所有的文件夾和文件名
path = input("請輸入你需要轉(zhuǎn)換文件夾的絕對路徑:")
# print("len(path)=" + str(len(path)))
# 參數(shù)分別代表行,列,寫入內(nèi)容,首行寫入列描述
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])
# 參數(shù)分別代表行,列,寫入內(nèi)容
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("文件名數(shù)量:" + str(num)) # 顯示文件名數(shù)量
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')
# 文件計數(shù)
num = 0
# 變量path路徑下所有的文件夾和文件名
path = input("請輸入你需要轉(zhuǎn)換文件夾的絕對路徑:")
# print("len(path)=" + str(len(path)))
# 參數(shù)分別代表行,列,寫入內(nèi)容,首行寫入列描述
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])
# 參數(shù)分別代表行,列,寫入內(nèi)容
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("文件名數(shù)量:" + str(num)) # 顯示文件名數(shù)量
f.save(file_path)
print("運行完畢!")
os.system("pause")
源碼3(由 AI 自動生成)
import os
import xlwt
# 需要遍歷的文件夾路徑
folder_path = "C:\example\folder"
# 創(chuàng)建一個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")
到此這篇關(guān)于Python實現(xiàn)把一個文件夾下所有的文件名和絕對路徑存入execl表格的文章就介紹到這了,更多相關(guān)Python獲取文件名與路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch快速搭建神經(jīng)網(wǎng)絡(luò)_Sequential操作
這篇文章主要介紹了pytorch快速搭建神經(jīng)網(wǎng)絡(luò)_Sequential操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python利用Appium實現(xiàn)自動控制移動設(shè)備并提取數(shù)據(jù)功能
這篇文章主要介紹了python利用Appium自動控制移動設(shè)備并提取數(shù)據(jù),本文以控制抖音app滑動并獲取抖音短視頻發(fā)布者為例,通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-09-09
Python使用multiprocessing模塊實現(xiàn)多進程并發(fā)處理大數(shù)據(jù)量的示例代碼
這篇文章主要介紹了Python使用multiprocessing模塊實現(xiàn)多進程并發(fā)處理大數(shù)據(jù)量的示例代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
Python matplotlib 繪制雙Y軸曲線圖的示例代碼
Matplotlib是非常強大的python畫圖工具,這篇文章主要介紹了Python matplotlib 繪制雙Y軸曲線圖,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
python自動化定位的9種函數(shù)方法小結(jié)
對于python進行自動化定位有9種方法,這篇文章主要來和大家聊聊這9種方法的具體使用,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-11-11
pytorch排查loss值出現(xiàn)nan的情況及解決
在實驗室訓練中,損失值出現(xiàn)nan是因條件篩選導(dǎo)致空列表,觸發(fā)torch.log()錯誤,通過包裹訓練代碼快速定位問題,最終解決方案是添加1e-7常量確保數(shù)值穩(wěn)定性,避免計算異常2025-09-09

