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: 修改后要记得,保存一下文件,就相当于另存为了,我试过如果另存为的名字和原始文件的名字一样,原始文件不发生变化,所以保存文件要起另外一个名字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章