溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python操作Excel實現(xiàn)批量替換功能

發(fā)布時間:2021-06-03 17:32:49 來源:億速云 閱讀:978 作者:Leah 欄目:開發(fā)技術

本篇文章給大家分享的是有關Python操作Excel實現(xiàn)批量替換功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Openpyxl,一個處理excel的python庫,處理excel,其實針對的就是WorkBook,Sheet,Cell這三個最根本的元素~

明確需求原始excel如下

我們的目標是把下面excel工作表的sheet1表頁A列的內容“替換我吧”批量替換為B列的“我用來替換的x號選手

Python操作Excel實現(xiàn)批量替換功能

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

Python操作Excel實現(xiàn)批量替換功能

實現(xiàn)以上功能的同時,我也實現(xiàn)excel的復制操作,比較簡單~

開始吧!

1. 加載已有excel

我們使用的庫是openpyxl,首先調用load_workbook('Path')加載預先準備的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[]中;

復制sheet頁,相當于復制整個excel的內容,然后用循環(huán)實現(xiàn)Cell的設置:

listSheet = wb.sheetnames # 加載所有的sheet頁
sheet = wb[listSheet[0]] # 選擇一個sheet頁
sheet2 = wb[listSheet[2]]

# 復制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)列與列之間的替換

Python操作Excel實現(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ù)加載進來的原本的excel中,這邊只保存到了一個新的excel,但是這步,恰恰實現(xiàn)了復制excel的操作

wb.save('C:\\Users\huan.li\Desktop\MultiSubstitute_new.xlsx')

最終效果

復制的新的excel~

Python操作Excel實現(xiàn)批量替換功能

實現(xiàn)的替換~

Python操作Excel實現(xiàn)批量替換功能

以上就是Python操作Excel實現(xiàn)批量替換功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI