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