如何使用Python从Excel文件中提取单元格格式(粗体、斜体等)?

如何使用Python从Excel文件中提取单元格格式(粗体、斜体等)?,python,excel,format,Python,Excel,Format,我试图从Excel文件中提取单元格的内容(基本上是文本)和文本的格式。我正在处理的Excel看起来像下面的屏幕截图: 单元格中的文本可以是粗体、斜体或笔划,我需要将文本和格式提取到python字符串中。例如,如果单元格包含: 第1行 第2行 第3行 我想获得一个字符串Python,如下所示: - line 1 /n- **line 2**/n- *line 3** 以获取文本和格式信息 我试图用openpyxl找到一个解决方案,但似乎只能应用而不能提取格式单元格。库xlrd似乎不适合xl

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

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

  • 第1行
  • 第2行
  • 第3行
我想获得一个字符串Python,如下所示:

- line 1 /n- **line 2**/n- *line 3**
以获取文本和格式信息

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


你知道吗?谢谢。

您可以从openpyxl导入字体,并使用
cell.Font.bold
检查单元格是否以粗体书写,它给出的是真还是假

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

有关openpyxl中字体的更多信息:

如果Excel文件是xlsx格式,您可以尝试将其作为xml读取(本质上xlsx是一种专用xml格式)。总的来说:在excel中使用标记来为单元格的值赋予某些状态总是一个非常糟糕的主意,尤其是当单个单元格中有多个值时。如果可能的话:考虑更改正在使用的Excel文件,以便在单元格中有1个值MAX,这将使它更容易地工作。