本篇文章給大家分享的是有關(guān)Python操作Excel實現(xiàn)批量替換功能,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)公司從2013年開始,先為葉集等服務(wù)建站,葉集等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為葉集企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。Openpyxl,一個處理excel的python庫,處理excel,其實針對的就是WorkBook,Sheet,Cell這三個最根本的元素~
明確需求原始excel如下
我們的目標(biāo)是把下面excel工作表的sheet1表頁A列的內(nèi)容“替換我吧”批量替換為B列的“我用來替換的x號選手”
實現(xiàn)替換后的效果圖,C列為B列替換A列的指定內(nèi)容后的結(jié)果
實現(xiàn)以上功能的同時,我也實現(xiàn)excel的復(fù)制操作,比較簡單~
開始吧!
1. 加載已有excel
我們使用的庫是openpyxl,首先調(diào)用load_workbook('Path')
加載預(yù)先準(zhǔn)備的excel,新建sheet頁讓我們的小成果更方便展示~
import openpyxl as xl wb = xl.load_workbook('C:\\Users\huan.li\Desktop\MultiSubstitute.xlsx') # 加載excel文件 wb.create_sheet('新建sheet頁', index = 2) # 新建sheet
2. sheet頁操作
為了方便,我們把所有sheet頁賦值到一個列表listSheet[]
中;
復(fù)制sheet頁,相當(dāng)于復(fù)制整個excel的內(nèi)容,然后用循環(huán)實現(xiàn)Cell的設(shè)置:
listSheet = wb.sheetnames # 加載所有的sheet頁 sheet = wb[listSheet[0]] # 選擇一個sheet頁 sheet2 = wb[listSheet[2]] # 復(fù)制sheet for i in range(1, sheet.max_row+1): sheet2['A{0}'.format(i)].value = sheet['A{0}'.format(i)].value sheet2['B{0}'.format(i)].value = sheet['B{0}'.format(i)].value
3. 加入excel函數(shù)實現(xiàn)批量替換操作
excel中有一個SUBSTITUTE函數(shù),可以實現(xiàn)列與列之間的替換
利用循環(huán)實現(xiàn)批量替換
for i in range(1, sheet2.max_row+1): sheet2['C{0}'.format(i)] = '=SUBSTITUTE(A{0},"替換我吧",B{1})'.format(i, i)
3. 保存處理好的excel
沒能實現(xiàn)保存在load_workbook('Path')
函數(shù)加載進(jìn)來的原本的excel中,這邊只保存到了一個新的excel,但是這步,恰恰實現(xiàn)了復(fù)制excel的操作
wb.save('C:\\Users\huan.li\Desktop\MultiSubstitute_new.xlsx')
最終效果
復(fù)制的新的excel~
實現(xiàn)的替換~
以上就是Python操作Excel實現(xiàn)批量替換功能,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。