Python實(shí)現(xiàn)把一個(gè)文件夾下所有的文件名和絕對(duì)路徑存入execl表格
前言
初衷:主要是為了方便一個(gè)目錄下所有文件的查詢,雖然可以直接使用搜索功能,但是首先得知道文件名,轉(zhuǎn)成execl形式可以使用篩選方便查找。
python:3.8
編輯器:VS Code
依賴庫(kù):xlwt
功能:把一個(gè)文件夾下所有的文件名和絕對(duì)路徑(包括子文件夾)存入以下的execl表格
| 序號(hào) | 最外層文件夾 | 文件名 | 文件絕對(duì)路徑 |
|---|---|---|---|
效果圖1

效果圖2

效果圖3

源碼1
import os
# 操作excel模塊 pip install xlwt 安裝一下
import xlwt
import sys
# sys.path[0]為要獲取當(dāng)前路徑,file_name_list.xls為要寫(xiě)入的文件名
file_path = sys.path[0] + '\\file_name_list.xls'
# 新建一個(gè)excel
f = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 新建一個(gè)sheet
sheet = f.add_sheet('sheet1')
# 文件計(jì)數(shù)
num = 0
# 變量path路徑下所有的文件夾和文件名
path = input("請(qǐng)輸入你需要轉(zhuǎn)換文件夾的絕對(duì)路徑:")
# print("len(path)=" + str(len(path)))
# 參數(shù)分別代表行,列,寫(xiě)入內(nèi)容,首行寫(xiě)入列描述
sheet.write(0, 0, "序號(hào)")
sheet.write(0, 1, "最外層文件夾")
sheet.write(0, 2, "文件名")
sheet.write(0, 3, "文件絕對(duì)路徑")
# 遍歷所有目錄文件
for root, dirs, files in os.walk(path):
# print('---------root---------')
# print(root)
for name in files:
file_name = os.path.join(root,name)
print("文件絕對(duì)路徑:" + 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ù)分別代表行,列,寫(xiě)入內(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("運(yùn)行完畢!")
os.system("pause")
源碼2(如果文件在根目錄,則會(huì)填充在 最外層文件夾 列)
import os
# 操作excel模塊 pip install xlwt 安裝一下
import xlwt
import sys
# sys.path[0]為要獲取當(dāng)前路徑,file_name_list.xls為要寫(xiě)入的文件名
file_path = sys.path[0] + '\\file_name_list.xls'
# 新建一個(gè)excel
f = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 新建一個(gè)sheet
sheet = f.add_sheet('sheet1')
# 文件計(jì)數(shù)
num = 0
# 變量path路徑下所有的文件夾和文件名
path = input("請(qǐng)輸入你需要轉(zhuǎn)換文件夾的絕對(duì)路徑:")
# print("len(path)=" + str(len(path)))
# 參數(shù)分別代表行,列,寫(xiě)入內(nèi)容,首行寫(xiě)入列描述
sheet.write(0, 0, "序號(hào)")
sheet.write(0, 1, "最外層文件夾")
sheet.write(0, 2, "文件名")
sheet.write(0, 3, "文件絕對(duì)路徑")
# 遍歷所有目錄文件
for root, dirs, files in os.walk(path):
# print('---------root---------')
# print(root)
for name in files:
file_name = os.path.join(root,name)
print("文件絕對(duì)路徑:" + 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ù)分別代表行,列,寫(xiě)入內(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("運(yùn)行完畢!")
os.system("pause")
源碼3(由 AI 自動(dòng)生成)
import os
import xlwt
# 需要遍歷的文件夾路徑
folder_path = "C:\example\folder"
# 創(chuàng)建一個(gè)Excel工作簿
workbook = xlwt.Workbook()
# 在工作簿中添加一個(gè)工作表
worksheet = workbook.add_sheet("Sheet1")
# 在工作表中添加表頭,即文件名和絕對(duì)路徑
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:
# 計(jì)算當(dāng)前文件的絕對(duì)路徑
absolute_path = os.path.join(dirpath, filename)
# 在工作表中寫(xiě)入文件名和絕對(duì)路徑
worksheet.write(row, 0, filename)
worksheet.write(row, 1, absolute_path)
# 更新行號(hào)
row += 1
# 保存工作簿
workbook.save("file_list.xls")
到此這篇關(guān)于Python實(shí)現(xiàn)把一個(gè)文件夾下所有的文件名和絕對(duì)路徑存入execl表格的文章就介紹到這了,更多相關(guān)Python獲取文件名與路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3.6日志Logging模塊簡(jiǎn)單用法示例
這篇文章主要介紹了Python3.6日志Logging模塊簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Python3.6環(huán)境下日志Logging模塊設(shè)置格式、文件流輸出相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
pandas滑動(dòng)窗口學(xué)習(xí)筆記(shift, diff, pct_change)
pandas中有3類窗口,分別是滑動(dòng)窗口rolling?、擴(kuò)張窗口expanding以及指數(shù)加權(quán)窗口ewm,下面就來(lái)詳細(xì)的介紹一下這三種的用法,感興趣的可以了解一下2024-03-03
django一對(duì)多模型以及如何在前端實(shí)現(xiàn)詳解
這篇文章主要介紹了django一對(duì)多模型以及如何在前端實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
Python對(duì)接六大主流數(shù)據(jù)庫(kù)(只需三步)
這篇文章主要介紹了Python對(duì)接六大主流數(shù)據(jù)庫(kù)(只需三步),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Pipenv輕量級(jí)虛擬環(huán)境管理工具使用指南
這篇文章主要為大家介紹了Pipenv輕量級(jí)虛擬環(huán)境管理工具使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Matplotlib與NumPy結(jié)合使用技術(shù)代碼和案例詳解
這篇文章主要介紹了Matplotlib和NumPy的基本使用方法,并通過(guò)一些具體的案例展示了如何將它們結(jié)合使用來(lái)處理和可視化數(shù)據(jù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12
Python pandas 的索引方式 data.loc[],data[][]示例詳解
這篇文章主要介紹了Python pandas 的索引方式 data.loc[], data[][]的相關(guān)資料,其中data.loc[index,column]使用.loc[ ]第一個(gè)參數(shù)是行索引,第二個(gè)參數(shù)是列索引,本文結(jié)合實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下2023-02-02

