文章目录
- 0.背景
- 1. 原文代码
- 2. 我的代码
- 3. 总结
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. 总结
将部分文字上色的代码本身不难,关键是要能够找到需要改变颜色的字符,这个过程往往比较麻烦。