Python辦公自動化之操作excel

最近家屬的工作有個頻繁操作excel的事情,我想到可以利用python的辦公自動化來解決這重復性的工作。py5分鐘,節(jié)約兩小時。

整理了思路,理清了操作步驟如下:

安裝openpyxl庫;

學習python對excel的各種操作;

根據(jù)excel操作的實際需求來編碼;

程序打包成exe;

以下步驟面向有編程經(jīng)驗者,并且默認已安裝好了python環(huán)境。

首先是安裝openpyxl庫:

openpyxl,是個python讀寫excel的庫。

安裝步驟就一行,打開cmd命令行,利用pip管道安裝這個擴展包等待安裝成功即可。

pip install openpyxl

注意:openpyxl只能操作xlsx文件而不能操作xls文件。

插曲:我參閱了一本書和一些網(wǎng)上別人寫的文檔,發(fā)現(xiàn)有些函數(shù)是有報錯的,實際上這些版本已經(jīng)落后了,則還是找到了官方文檔(只有英文的,還好我英語湊合著看),對照官方文檔上面的使用函數(shù)是正常的。

官網(wǎng)地址:https://openpyxl.readthedocs.io/en/stable/tutorial.html

在openpyxl中,主要用到三個概念:Workbooks,Sheets,Cells。Workbook就是一個excel工作簿;Sheet是工作簿中的一張表頁;Cell就是簡單的一個格。openpyxl就是圍繞著這三個概念進行的,不管讀寫都是“三板斧”:打開Workbook,定位Sheet,操作Cell。下面分讀和寫分別介紹幾個常見的方法。

寫了個最簡單的demo,實現(xiàn)了操作excel。

#導入openpyxl庫的工作簿包和讀取工作簿包

from openpyxl import load_workbook,workbook

wb = load_workbook('function.xlsx') #讀取測試xlsx文件,這個可以是空的,也可以有內(nèi)容

ws= wb.active #選中當前頁,默認是第一個sheet

ws['A1'] =1#給A1單元格賦值,以下類似

ws['A2'] =2

ws['A3'] =3

ws['A4'] ='=SUM(A1:A3)'#給A4單元格填寫了excel公式,在py程序里實際上是字符串,生成到excel里則是求和函數(shù)

ws['A5'] ='=MAX(A1,A3)'

ws['B1'] =0

ws['B2'] =0

wb.save('function.xlsx')


function.xlsx的結(jié)果

這個是稍微復雜一些的demo,將一個excel的內(nèi)容遍歷,也可以稍作修改再寫到另一個excel中

#讀取test.xlsx的內(nèi)容,遍歷放到二維數(shù)組,存儲到另外個excel中

import openpyxl

wb_t = openpyxl.load_workbook('test.xlsx')

sheets_t = wb_t.sheetnames

sheet_t = wb_t[sheets_t[0]]

data = [[]fori inrange(sheet_t.max_column)] #定義,二維的空list

for row in sheet_t.rows:

for cell in row:

#print(cell.value)

data[cell.row-1].append(cell.value)

# wb_t.save('cxh_test.xlsx')

print(data)

sheet_t['A1'].value ='職位'

wb_t.save('test.xlsx')

wb = openpyxl.Workbook()

ws= wb.active

ws.title ='cxh auto_sheet'

for list in data:

ws.append(list)

wb.save('cxh_test.xlsx')


cxh_test.xlsx的結(jié)果

實際需求也就是增加和修改一些單元格,這里涉及機密就略過了,知道了前面的操作步驟,實際需求就是水到渠成。

最后py打包這個環(huán)節(jié),一是為了跨平臺使用,二也是為了沒有python環(huán)境的電腦和非編程人員的使用便捷。

python打包成exce也是需要額外的第三方打包工具庫。

這里使用pyinstaller。

1. 安裝

(1) 官網(wǎng):http://www.pyinstaller.org/

(2) pip install PyInstaller

這種安裝方法,簡單直接,而且利于后期update pyinstaller時,可以用pip update。

2. 使用

命令格式:pyinstaller [options] script [script …] | specfile

解釋一下:

(1)最簡單的情況,不做任何額外配置,直接打包。那命令直接輸入:

pyinstaller xxx.py

這個命令也是有許多參數(shù),可以查閱官網(wǎng)進行參數(shù)上的增加。

以上,就是python自動化的excel操作的步驟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容