Python腳本操作Excel實(shí)現(xiàn)批量替換功能
大家好,給大家分享下如何使用Python腳本操作Excel實(shí)現(xiàn)批量替換。
使用的工具
Openpyxl,一個(gè)處理excel的python庫(kù),處理excel,其實(shí)針對(duì)的就是WorkBook,Sheet,Cell這三個(gè)最根本的元素~
明確需求原始excel如下
我們的目標(biāo)是把下面excel工作表的sheet1表頁(yè)A列的內(nèi)容“替換我吧”批量替換為B列的“我用來(lái)替換的x號(hào)選手”

實(shí)現(xiàn)替換后的效果圖,C列為B列替換A列的指定內(nèi)容后的結(jié)果

實(shí)現(xiàn)以上功能的同時(shí),我也實(shí)現(xiàn)excel的復(fù)制操作,比較簡(jiǎn)單~
開(kāi)始吧!
1. 加載已有excel
我們使用的庫(kù)是openpyxl,首先調(diào)用load_workbook('Path')加載預(yù)先準(zhǔn)備的excel,新建sheet頁(yè)讓我們的小成果更方便展示~
import openpyxl as xl
wb = xl.load_workbook('C:\\Users\huan.li\Desktop\MultiSubstitute.xlsx') # 加載excel文件
wb.create_sheet('新建sheet頁(yè)', index = 2) # 新建sheet
2. sheet頁(yè)操作
為了方便,我們把所有sheet頁(yè)賦值到一個(gè)列表listSheet[]中;
復(fù)制sheet頁(yè),相當(dāng)于復(fù)制整個(gè)excel的內(nèi)容,然后用循環(huán)實(shí)現(xiàn)Cell的設(shè)置:
listSheet = wb.sheetnames # 加載所有的sheet頁(yè)
sheet = wb[listSheet[0]] # 選擇一個(gè)sheet頁(yè)
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
沒(méi)能實(shí)現(xiàn)保存在load_workbook('Path')函數(shù)加載進(jìn)來(lái)的原本的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)批量替換功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
python sitk.show()與imageJ結(jié)合使用常見(jiàn)的問(wèn)題
這篇文章主要介紹了python sitk.show()與imageJ結(jié)合使用常見(jiàn)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖
不論是數(shù)據(jù)挖掘還是數(shù)據(jù)建模,都免不了數(shù)據(jù)可視化的問(wèn)題,對(duì)于Python來(lái)說(shuō),Matplotlib是最著名的繪圖庫(kù),它主要用于二維繪圖,這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖的相關(guān)資料,需要的朋友可以參考下2021-07-07
Python利用腳本實(shí)現(xiàn)自動(dòng)發(fā)送電子郵件
這篇文章主要為大家詳細(xì)介紹了Python如何利用腳本實(shí)現(xiàn)自動(dòng)發(fā)送電子郵件功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-01-01
python基礎(chǔ)學(xué)習(xí)之遞歸函數(shù)知識(shí)總結(jié)
在函數(shù)中調(diào)用函數(shù)自身,我們把這樣的函數(shù)叫做遞歸函數(shù), 遞歸函數(shù)就是循環(huán)的調(diào)用,類似于俄羅斯套娃,本文給各位小伙伴詳細(xì)介紹了python遞歸函數(shù),需要的朋友可以參考下2021-05-05
Django之Mode的外鍵自關(guān)聯(lián)和引用未定義的Model方法
今天小編就為大家分享一篇Django之Mode的外鍵自關(guān)聯(lián)和引用未定義的Model方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
python Dtale庫(kù)交互式數(shù)據(jù)探索分析和可視化界面
這篇文章主要為大家介紹了python Dtale庫(kù)交互式數(shù)據(jù)探索分析和可視化界面實(shí)現(xiàn)功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

