Openpyxl给同个单元格的不同文字“上色”

0.背景

openpyxl一直在用,今天看到一直关注的公众号又发出了奇技淫巧(想要看原文或者要关注原作者的可以点击这里),就直接收录到主页好了。免得以后找不到了。

1. 原文代码

原来的代码是这样的。我按照自己的测试文件做了以下修改,代码可以看第二节

import re
from  openpyxl import load_workbook
from openpyxl.cell.text import InlineFont
from openpyxl.cell.rich_text import TextBlock, CellRichText

wb = load_workbook("test.xlsx")
ws = wb.active

content = ws["A1"].value
result = re.split(r'(【)(.*?)(】)', content)

red = InlineFont(color='FF0000')
rich_string1 = CellRichText([TextBlock(red, i) if i in re.findall(r"【(.*?)】",content) else i for i in result])

ws['A1'] = rich_string1
wb.save("test2.xlsx")

2. 我的代码

import re
from  openpyxl import load_workbook
from openpyxl.cell.text import InlineFont
from openpyxl.cell.rich_text import TextBlock, CellRichText

wb = load_workbook("test.xlsx")
ws = wb.active

content = ws["A1"].value
result = re.split(r'\+', content)

red = InlineFont(color='FF0000')
rich_string1 = CellRichText([TextBlock(red, i) if i in re.findall(r"强度",content) else i for i in result])

ws['A1'] = rich_string1
wb.save("test2.xlsx")

运行前是这样子的:
在这里插入图片描述

运行后是这样子的:
在这里插入图片描述

3. 总结

将部分文字上色的代码本身不难,关键是要能够找到需要改变颜色的字符,这个过程往往比较麻烦。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

George1415926

看着有用,请作者喝杯咖啡啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值