天天看點

Python解析excel——openpyxl

前言

前段時間的工作都是圍繞着AWS的autoscaling展開的,寫terraform,修改AWS的配置,然後用python寫一個lambda。就是這段時間給了我一個可以學習學習python的機會。(本來自己就想學,但是工作一直沒用到就擱置了)。

Python的寄出學完之後,我就想着用python寫點什麼,真正的應用一下,于是就開始嘗試如何用python解析excel。

正文

代碼可以直接檢視

https://github.com/luckypoison/pythonNote

中的excelResolve.py

在excel的概念中最大單元是workbook,可以說它是整個excel的一個映射,然後在一個workbook中存在這多個sheet,每一個sheet中,每一個單元格就是一個cell,這就是我們可以得到的最小單元了。

由于我們使用的是openpyxl,是以我們需要先引一下這個包:

# 引入opnepyxl來解析excel
import openpyxl as xl           

我們可以這樣擷取workbook:

# excel_name 是檔案的字元串,如果不指定路徑,指的是目前路徑
xl.load_workbook(excel_name)           

我們可以這樣擷取sheet

# excel_workbook為剛剛拿到的workbook的執行個體,sheet_name為excel中sheet的名字,建立的情況下為“Sheet1”
excel_workbook[sheet_name]           

我們可以這樣擷取cell

# excel_sheet為剛剛擷取到的sheet執行個體,cell_position為一個字元串(如果為第一行第一列,位置為a1)
excel_sheet[cell_position]           

擷取cell中的值

excel_sheet[cell_position].value           

修改cell中的值

excel_sheet[cell_position].value = 修改後的值
# 最後一定不要忘記save檔案
excel_workbook.save('檔案名')           
Tips: 修改後要記得,儲存一下檔案,就相當于另存為了,我試過如果另存為的名字和原始檔案的名字一樣,原始檔案不發生變化,是以儲存檔案要起另外一個名字。