鱼C论坛

 找回密码
 立即注册
查看: 1310|回复: 7

openpyxl 写公式 问题。

[复制链接]
发表于 2020-6-22 16:12:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图所示,  我想在D列中写下一个公式,。  根据B列与C列 , 得到D 列的值 .

1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-22 16:33:20 | 显示全部楼层
暂时只知道单个单元格填入公式的方式:
ws["d1"] = "=(b1+c1)/b1"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-22 16:46:55 | 显示全部楼层
suchocolate 发表于 2020-6-22 16:33
暂时只知道单个单元格填入公式的方式:

有没有更加便捷的方法, 我可以让D列,整列都是这个公式?
而不是单个单元格的来。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 17:22:10 | 显示全部楼层
本帖最后由 suchocolate 于 2020-6-22 17:24 编辑
maxliu06 发表于 2020-6-22 16:46
有没有更加便捷的方法, 我可以让D列,整列都是这个公式?
而不是单个单元格的来。。


openpyxl貌似没有(openpyxl官网上没找到),你可以设置一个for循环解决。

另外如果你觉着麻烦可以用VBA,他支持列自动填充公式:
Sub Macro1()
'
' Macro1 Macro
'

'
    Range("D3").Select
    Range("D3").Formula = "=(B1+C1)/B1"
    Selection.AutoFill Destination:=Range("D3:D22")
End Sub
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-22 17:30:26 | 显示全部楼层
suchocolate 发表于 2020-6-22 17:22
openpyxl貌似没有(openpyxl官网上没找到),你可以设置一个for循环解决。

另外如果你觉着麻烦可以 ...

vba  不懂。。。

for 循环也想过了,  但是这变量得写在公式里面,  这不起作用呢。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 17:46:58 | 显示全部楼层
maxliu06 发表于 2020-6-22 17:30
vba  不懂。。。

for 循环也想过了,  但是这变量得写在公式里面,  这不起作用呢。。
for item in range(3, 22):
    num = str(item)
    ws['d' + num] = "=(b%d+c%d)/b%d" % (item, item, item)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 17:59:56 | 显示全部楼层
本帖最后由 txxcat 于 2020-6-22 18:01 编辑

把公式作为字符串写入到单元格里就可以了,我没理解错的话这样写:
from openpyxl import load_workbook
from openpyxl import Workbook
wb=load_workbook('test1.xlsx')
sheet_name = 'Sheet1'
ws=wb[sheet_name]
for i in range(3,6):
    ws['D'+str(i)] = '=(B%d+C%d)/B%d' % (i,i,i)
wb.save('test2.xlsx')    
wb.close()
效果,看看是不是你需要的结果:
批注 2020-06-22 180036.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 08:23:00 | 显示全部楼层
pandas库有
自定义一个函数,再利用pandas的apply方法应用进去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 12:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表