python解析excel函数
目录
在现在的开发的工作中,随着数据的重要性日益凸显,经常需要与excel文件打交道,目前的大多数第三方库只提供读取excel文件的方法,但有时候需要将预先定义好的 “excel函数” 插入到excel文件中,此时大多数第三方库无法支持。
本文中,主要提供一种解决这类问题的思路,并简单举例
-
目前主流解析excel文件的第三方库:
- xlrd、xlwt、xlutils:只能处理xls格式,不能处理xlsx格式,不能读取公式,只能读取公式计算后的数值,这样保存后的excel文件丢失了公式。
- openpyxl:以处理xlsx格式,使用data_only=False参数打开xlsx格式,能读取公式;data_only=True读取公式的数值,注意:openpyxl 本身无法解析 excel公式并进行运算,但可以通过更改原本excel公式中的变量数值(单元格的数值)实现计算的功能。(excel软件保存文件时,会记录公式、数值和运算)
- xlsxwriter:理可以写公式,但是不能读取excel文件,只能用于创建新的excel文件。
-
本文主要使用的第三方库:
- formulas:实现的excel函数的解析功能,并且可以高度自定义自己的公式,本文中,主要通过重写excel基础函数的功能实现解析excel函数的功能。(链接地址:https://formulas.readthedocs.io/en/stable/doc.html)
-
具体代码:
# -*- coding: utf-8 -*- import math import formulas class Par