一文讲完系列

一文讲完openpyxl:python操作Excel读写文件和分

2023-02-20  本文已影响0人  fakeProgramer

日常的工作和学习过程中充斥着大量excel操作,比如打开excel文件、计算数据、保存数据、绘图等等。python有诸多可以操作excel数据的模块如pandas,但想要一览完整的pandas是个相对庞大的工程,从操作excel出发python有更轻量的工具。本文将带大家认识一下python操作excel的模块——openpyxl,一个更容易上手的实用型模块。

windows安装:

openpyxl是第三方扩展库,通过 pip install openpyxl安装。


日常excel的操作主要包括创建、读、写、画图。

接下来我们逐一进行介绍。


创建excel文件、sheet表


import openpyxl as ox
workbook = ox.Workbook()   # 内存中创建一个新的excel对象
worksheet_1 = workbook.create_sheet(title='sheetname', index=0)  # 在指定位置插入新的sheet
workbook.save('./excel_project/newfile.xlsx')   # newfile 命名文件,保存到同级的excel_project 文件夹中

读excel操作

openpyxl.load_workbook()方法

workbook = ox.load_workbook('./excel_project/newfile.xlsx')   # ###读excel文件
worksheet = workbook['sheetname']   # 读某个sheet
msg = worksheet['A1'].value   # 读单元格的内容
print(worksheet)
print(msg)
# 运行结果:
<class 'openpyxl.worksheet.worksheet.Worksheet'>
Values

写excel操作


worksheet['A5'] = 'Values'   # 方式1:写入单元格,此时只在内存读写
worksheet.cell(row=5, column=5, value='Values')   # 方式2:写入单元格
workbook.save('./excel_project/newfile.xlsx')   # 保存本地

甚至可以直接向单元格写入公式,如:

worksheet['A5'] = '=B5/C5'

但必要性不强。
既然使用python操作,就要构建关于数据处理的函数,将excel数据读取后带入函数计算,再将结果写入excel,这样明显高效很多且代码灵活性高,数据模型也能根据实际需要随时修订。


其他

访问excel对象的一些属性:


namelist = workbook.sheetnames
worksheet.append(['values1', 'values2', 0, 1])
ranges = worksheet['A1':'C5']

这里不过多介绍了,感兴趣的同学可自行尝试。


画图

openpyxl并未提供操作画图的功能。

想要实现还需结合python的其他作图模块。这里介绍一个比较便捷的替代方法,就是事先在excel里绘好透视表区域,再将计算结果写入,借用excel的自身功能生成区域内的透视图。


openpyxl模块讲到这里就基本结束了。

可以看到操作很简单,但实战还要做到融汇贯通,将python的语法和模块有效结合起来,才能发挥出openpyxl实际的应用价值。

上一篇 下一篇

猜你喜欢

热点阅读