Openpyxl:确定单元格值中的哪个字符是删除线

Openpyxl: Determining which character in a cell value is strikethrough

我首先要提到我使用的是 Python 2.7 和 Openpyxl 2.4.1

基本上我正在清理的工作簿中有一个 sheet。我遍历每个单元格并检查是否有删除线文本。假设我正在查看 A 列:

for i in range(1, sheet.max_row+1):
    my_cell = sheet['A'+str(i)]
    if my_cell.font.strikethrough == True:
        #here's the tricky part

我知道可以确定一个单元格是否包含删除线字符,但我想找出 cell.value 中哪些字符是删除线字符。我已经阅读了文档,但找不到太多关于此的内容。这可以用 openpyxl 实现吗?

不,这是不可能的:openpyxl 不处理单元格级别以下的格式。您将需要编写自己的解析器来执行此操作。

这可以通过 属性 Cell.font.strike:

 if my_cell.font.strike ==True:
     #here's the tricky part