【问题标题】:How to extract cell format (bold, italic, ...) from an Excel file using Python?如何使用 Python 从 Excel 文件中提取单元格格式(粗体、斜体、...)?
【发布时间】:2018-07-04 15:22:40
【问题描述】:

我正在尝试从 Excel 文件中提取单元格的内容(主要是文本)和文本的格式。我正在处理的 Excel 看起来像下面的屏幕截图:

单元格中的文本可能是粗体、斜体或笔划,我需要将文本和格式提取到 python 字符串中。例如,如果一个单元格包含:

  • 第 1 行
  • 第 2 行
  • 第 3 行

我想获得一个类似于 Python 的字符串:

- line 1 /n- **line 2**/n- *line 3**

为了得到文本和格式信息。

我尝试使用openpyxl找到解决方案,但似乎只能应用而不提取格式单元格。图书馆 xlrd 似乎不适合 xlsx。我目前正在尝试使用 pyexcel 库。

你有什么想法吗?谢谢。

【问题讨论】:

  • 如果 excel 文件是 xlsx 格式,您可以尝试将其读取为 xml(本质上 xlsx 是一种专有的 xml 格式)。总体而言:在 excel 中使用标记为单元格的值赋予某种状态总是非常糟糕的主意,尤其是在单个单元格中有多个值的情况下。如果可能的话:考虑更改正在使用的 excel 文件,以便在单元格中有 1 个最大值,这将使使用它变得更加容易。

标签: python excel format


【解决方案1】:

您可以从 openpyxl 导入字体并使用 cell.font.bold 检查单元格是否以粗体书写,它给出的是 True 或 False。

cell=sheet[A2]
bold_status=cell.font.bold
italic_status=cell.font.italic

关于 openpyxl 中字体的更多信息:http://openpyxl.readthedocs.io/en/2.5/api/openpyxl.styles.fonts.html

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多