Python腳本操作Excel實(shí)現(xiàn)批量替換功能
大家好,給大家分享下如何使用Python腳本操作Excel實(shí)現(xiàn)批量替換。
使用的工具
Openpyxl,一個(gè)處理excel的python庫,處理excel,其實(shí)針對的就是WorkBook,Sheet,Cell這三個(gè)最根本的元素~
明確需求原始excel如下
我們的目標(biāo)是把下面excel工作表的sheet1表頁A列的內(nèi)容“替換我吧”批量替換為B列的“我用來替換的x號(hào)選手”
實(shí)現(xiàn)替換后的效果圖,C列為B列替換A列的指定內(nèi)容后的結(jié)果
實(shí)現(xiàn)以上功能的同時(shí),我也實(shí)現(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頁賦值到一個(gè)列表listSheet[]
中;
復(fù)制sheet頁,相當(dāng)于復(fù)制整個(gè)excel的內(nèi)容,然后用循環(huán)實(shí)現(xiàn)Cell的設(shè)置:
listSheet = wb.sheetnames # 加載所有的sheet頁 sheet = wb[listSheet[0]] # 選擇一個(gè)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ù)實(shí)現(xiàn)批量替換操作
excel中有一個(gè)SUBSTITUTE函數(shù),可以實(shí)現(xiàn)列與列之間的替換
利用循環(huán)實(shí)現(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
沒能實(shí)現(xiàn)保存在load_workbook('Path')
函數(shù)加載進(jìn)來的原本的excel中,這邊只保存到了一個(gè)新的excel,但是這步,恰恰實(shí)現(xiàn)了復(fù)制excel的操作
wb.save('C:\\Users\huan.li\Desktop\MultiSubstitute_new.xlsx')
最終效果
復(fù)制的新的excel~
實(shí)現(xiàn)的替換~
總結(jié)
以上所述是小編給大家介紹的Python腳本操作Excel實(shí)現(xiàn)批量替換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Django中和時(shí)區(qū)相關(guān)的安全問題詳解
這篇文章主要給大家介紹了關(guān)于Django中和時(shí)區(qū)相關(guān)的安全問題的相關(guān)資料,需要的朋友可以參考下2020-10-10python打包exe開機(jī)自動(dòng)啟動(dòng)的實(shí)例(windows)
今天小編就為大家分享一篇python打包exe開機(jī)自動(dòng)啟動(dòng)的實(shí)例(windows),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python爬蟲——爬取豆瓣電影Top250代碼實(shí)例
這篇文章主要介紹了Python爬取豆瓣電影Top250實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python數(shù)據(jù)分析pandas模塊用法實(shí)例詳解
這篇文章主要介紹了Python數(shù)據(jù)分析pandas模塊用法,結(jié)合實(shí)例形式分析了pandas模塊對象創(chuàng)建、數(shù)值運(yùn)算等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-11-11