1. 程式人生 > 程式設計 >Python指令碼操作Excel實現批量替換功能

Python指令碼操作Excel實現批量替換功能

大家好,給大家分享下如何使用Python指令碼操作Excel實現批量替換

使用的工具

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

明確需求原始excel如下

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

在這裡插入圖片描述

實現替換後的效果圖,C列為B列替換A列的指定內容後的結果

在這裡插入圖片描述

實現以上功能的同時,我也實現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的內容,然後用迴圈實現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函式實現批量替換操作

excel中有一個SUBSTITUTE函式,可以實現列與列之間的替換

在這裡插入圖片描述

利用迴圈實現批量替換

for i in range(1,sheet2.max_row+1):
 sheet2['C{0}'.format(i)] = '=SUBSTITUTE(A{0},"替換我吧",B{1})'.format(i,i)

3. 儲存處理好的excel

沒能實現儲存在load_workbook('Path')函式載入進來的原本的excel中,這邊只儲存到了一個新的excel,但是這步,恰恰實現了複製excel的操作

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

最終效果

複製的新的excel~

在這裡插入圖片描述

實現的替換~

在這裡插入圖片描述

總結

以上所述是小編給大家介紹的Python指令碼操作Excel實現批量替換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!