从excel文件读取时,有什么方法可以使用openpyxl python获取单元格内每个单词的样式

时间:2019-06-27 07:36:09

标签: python excel parsing openpyxl

我正在尝试解析excel文件,该文件将在解析excel数据后创建JSON。 excel可能包含使用粗体,斜体颜色等样式的单词。我正在使用openpyxl进行格式化,但其用于整个单元格。如果单元格包含一个单词为粗体/斜体或彩色的句子,则无法获得样式。

如果有人可以指导我,这将非常有帮助

预先感谢

1 个答案:

答案 0 :(得分:0)

我能想到的唯一且相当乏味的方法是提取xlsx文件(它只是一个zip存档)并在那里修改sharedStrings.xml(例如,使用ElementTree)。 然后将文件压缩回一起。

此处介绍了该方法:

https://stackoverflow.com/a/53454150/7919597

例如像

这样的单元格

enter image description here

sharedStrings.xml的样子

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1">
    <si>
      <r>
        <rPr>
          <sz val="11"/><color rgb="FFFF0000"/><rFont val="Calibri"/><family val="2"/>
          <scheme val="minor"/>
         </rPr>
         <t xml:space="preserve">Some Text</t>
      </r>

      <r>
        <rPr>
           <sz val="11"/><color theme="7" tint="-0.249977111117893"/><rFont val="Calibri"/><family val="2"/><scheme val="minor"/>
         </rPr>
       <t>Another Text</t>

    </r>
  </si>
</sst>