公式以一个等号开始,可以配置单元格,让它包含通过其他单元格计算得到的 值。在本节中,你将利用 openpyxl 模块,用编程的方式在单元格中添加公式,就像 添加普通的值一样。例如:

>>> sheet['B9'] = '=SUM(B1:B8)' 

这将=SUM(B1:B8)作为单元格 B9 的值。这将 B9 单元格设置为一个公式,计算 单元格 B1 到 B8 的和。图 12-5 展示了它的效果。

为单元格设置公式就像设置其他文本值一样。在交互式环境中输入以下代码:

>>> import openpyxl
>>> wb = openpyxl.Workbook()
>>> sheet = wb.active
>>> sheet['A1'] = 200
>>> sheet['A2'] = 300
>>> sheet['A3'] = '=SUM(A1:A2)'
>>> wb.save('writeFormula.xlsx')

单元格 A1 和 A2 分别设置为 200 和 300。单元格 A3 设置为一个公式,求出 A1 和A2 的和。如果在 Excel 中打开这个电子表格,A3 的值将显示为 500。 也可以读取单元格中的公式,就像其他值一样。但是,如果你希望看到该公式 的计算结果,而不是原来的公式,就必须将 load_workbook()的 data_only 关键字参 数设置为 True。这意味着 Workbook 对象要么显示公式,要么显示公式的结果,不 能兼得(但是针对一个电子表格文件,可以加载多个 Workbook 对象)。在交互式环 境中输入以下代码,看看有无 data_only关键字参数时,加载工作簿的区别:

>>> import openpyxl
>>> wbFormulas = openpyxl.load_workbook('writeFormula.xlsx')
>>> sheet = wbFormulas.active
>>> sheet['A3'].value
'=SUM(A1:A2)'
>>> wbDataOnly = openpyxl.load_workbook('writeFormula.xlsx', data_only=True)
>>> sheet = wbDataOnly.active
>>> sheet['A3'].value
500

这里,如果调用 load_workbook()时带有 data_only=True,A3 单元格就显示为 500,即公式的结果,而不是公式的文本。 Excel 公式为电子表格提供了一定程度的编程能力,但对于复杂的任务,很快 就会失去控制。例如,即使你非常熟悉 Excel 的公式,要想弄清楚=IFERROR (TRIM(IF(LEN(VLOOKUP(F7,Sheet2!$A$1:$B$10000,2,FALSE))>0,SUBSTITUTE (VLOOKUP (F7, Sheet2!$A$1:$B$10000, 2, FALSE), " ", ""),"")), "")实际上做了什么, 也是一件非常头痛的事。Python 代码的可读性要好得多。

python Excel公式相关推荐

  1. python利用公式计算_Python利用openpyxl处理Excel文件(公式实例)

    前面我们学习了Python使用openpyxl模块处理Excel文件的大部分内容,今天,我们通过一个例子来学习Python使用Excel公式的方法,引出今天的主题利用openpyxl处理Excel公式 ...

  2. python excel 自动化-Python 自动化:处理 Excel(笔记)

    自己接触 Python 也有一段时间,入门开始一直都没有熟练:个中学习了不少教材,甚至付费过某个知名网站.看过那么多内容,觉得 Python 入门并不需要付费的内容,网络上有许多优秀的免费内容. 自己 ...

  3. matlab用辛普森公式求积分_如何用Excel公式求最大值对应的行列序号

    微信公众号: Excel and Python 微信名搜索: 实用办公编程技能 如何用Excel公式求最大值对应的行列序号呢? 下面,我们来看看来自问题互动栏目的一个具体问题. 具体问题:求出哪一天哪 ...

  4. python excel详解_Python - excel 详解

    Python读excel,2003用xlrd,2007和2010用openpyxl xlrd介绍:http://pypi.python.org/pypi/xlrd 转自:http://huaxia52 ...

  5. Python+Excel 华尔街的一股清流

    论自由意志与价值 一.人生苦短,学点Python 二.需求是第一生产动力 三.小舟从此逝,代码寄余生 文章结语 一.人生苦短,学点Python 如果你把衣服和裤子按照左边衣服,右边裤子,每次从最新的一 ...

  6. 《Python Excel 教程》

    Python开发准备工作 1.安装Python 解释执行器 ◦安装方法见 http://114.116.244.115/static/%E5%90%AF%E8%88%AA%E7%8F%AD/pytho ...

  7. python excel动态图表_那些年做过的动态图表-实用漂亮的Excel动态图表

    原标题:那些年做过的动态图表-实用漂亮的Excel动态图表 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数 ...

  8. mytrader-开源股票期货金融软件+支持C/C++/Python/Excel/VBA/麦语言的量化分析交易平台

    mytrader致力于为量化交易.算法交易.程序化交易以及技术分析爱好者打造最极致的行情分析交易平台. mytrader是一款基于ZQDB构建的量化分析交易平台. mytrader是绿色免安装版本,您 ...

  9. excel输入公式显示公式_快速输入复杂的Excel公式

    excel输入公式显示公式 On Chandoo's blog, Hui is running a series of articles with Excel Tips. There were som ...

  10. vba和宏_保留有关Excel公式和宏的注释

    vba和宏 Do you keep notes about the Excel formulas and macros that you create? What's your documentati ...

最新文章

  1. 从零开始入门 K8s | 应用编排与管理
  2. python赋值语句对错_深入理解Python中变量赋值的问题
  3. react学习(71)--render使用
  4. Java基础-this关键字和构造方法(10)
  5. AJAX如何做出输入框提示!
  6. LINUX系统配置相关
  7. Unity Shader 详细自学(一)
  8. 生物电(ECG、EMG、EEG)科普研究
  9. (转帖)CAP理论(1)
  10. 使用CSS3实现按钮特效
  11. 有鱼上钩!修改游戏数据前的准备
  12. python 图片识别_Python—识别图片中的文字
  13. 什么是 PHP? 为什么用 PHP? 有谁在用 PHP?
  14. 10Wqps评论中台,如何架构?B站是这么做的!!!
  15. Word安全警告 宏已被禁用解决
  16. 高德地图如何取消订单_高德地图怎么取消订单
  17. textcnn文本词向量_基于Text-CNN模型的中文文本分类实战
  18. Unity2d Rubys Adventure 课程设计报告
  19. 解决git时出现error: src refspec master does not match any问题
  20. 平衡二叉树算法实现C++

热门文章

  1. 阿里云服务器一年多少钱?阿里云企业级云服务器报价表
  2. ICCV 2019|70 篇论文抢先读,含目标检测/自动驾驶/GCN/等(提供PDF下载)
  3. [NOI2015]荷马史诗
  4. built a JNCIS LAB系列:Chapter 4 BGP
  5. 如何在iPhone 12上管理5G设置来保护流量和电池续航
  6. 数字化底层逻辑揭秘!探寻地产工程行业发展新范式
  7. react-router-dom v6 使用
  8. 腾讯视频VIP会员,周卡特价9.5元!
  9. HDU5773(The All-purpose Zero LIS变形)
  10. dota英雄技能快捷键大全