在日常工作中,我們經(jīng)常會(huì)遇到一些查找、存儲(chǔ)文件的問題,比如合并文件夾內(nèi)的多個(gè)excel文件等。這就涉及到文件的查找處理等操作,Python提供的OS庫就派上了用場。本文整理了一些常用的文件處理代碼,基本滿足日常需要,適合收藏。
查找處理文件要調(diào)用os庫,和openpyxl一樣,先用import 導(dǎo)入。
運(yùn)行結(jié)果為:e:\python也可從分離文件名后的列表中提?。簅s.path.split(帶路徑文件名)[0]
運(yùn)行結(jié)果為:刪除最小值.xlsx也可從分離文件名后的列表中提?。簅s.path.split(帶路徑文件名)[1]
運(yùn)行結(jié)果為:true若給定的路徑文件不存在,則返回false
運(yùn)行結(jié)果:8.py 為'e:\python'文件夾下第2個(gè)文件(或文件夾)名。
運(yùn)行結(jié)果:.py,若最后一句改為print(pdn[0]),則得到文件名。
在下面的文件夾“e:\python\匯總”里,有2個(gè)xlsx文件和一個(gè)txt文件,要求先判斷當(dāng)前文件夾內(nèi)是否存在“匯總.xlsx”文件,若不存在則新建一個(gè),若存在則直接打開使用,要求將其他.xlsx文件的第1個(gè)表單數(shù)據(jù),匯總至“匯總.xlsx”文件。
初始文件
1、導(dǎo)入os庫和openpyxl庫,給定當(dāng)前路徑為模塊參數(shù)
2、在jion模塊內(nèi)寫代碼,先判斷是否存在匯總.excle文件,若無則創(chuàng)建
def jion(f1): f2 = f1 + '\\' + '匯總.xlsx' bl = os.path.exists(f2) if bl is False: wb = openpyxl.Workbook() ws = wb.active ws.title = '匯總' ws1 = wb.create_sheet('a1') wb.save(f2) wb = openpyxl.load_workbook(f2) ws = wb.active
3、遍歷指定文件夾,將目標(biāo).xlsx文件放入列表k備用
5、逐個(gè)打開目標(biāo)文件,將第一個(gè)表單內(nèi)的數(shù)據(jù)復(fù)制粘貼在匯總表內(nèi)匯總表單內(nèi)
for i in range(len(k)): wb1 = openpyxl.load_workbook(f1 + '\\' + k[i]) ws1 = wb1._sheets[0] for jj in range(2, ws1.max_row+1): ks = ws.max_row for j in range(1, ws1.max_column+1): ws.cell(ks+1, j).value = ws1.cell(jj, j).valuewb.save(f2)
6、運(yùn)行代碼完成,此時(shí)匯總文件內(nèi)已經(jīng)合并了其他兩個(gè)文件的數(shù)據(jù)。
程序運(yùn)行后文件
聯(lián)系客服