无法打开电子表格
Failing to open spreadsheet
我目前正在将多个传播 sheet 和 运行 解析为打开其中一些的问题。产生的错误将我定向到文件 "Cell\text.py",该行位于将内容 属性 中的片段连接在一起的行。
workBook = openpyxl.load_workbook(filepath, True)
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\excel.py", line 191, in load_workbook
shared_strings = read_string_table(archive.read(strings_path))
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\strings.py", line 21, in read_string_table
text = Text.from_tree(node).content
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\cell\text.py", line 182, in content
return "".join(snippets)
TypeError: sequence item 3: expected str instance, NoneType found
如果我更改代码以检查格式化部分中块的附加情况,如下所示:
for block in self.formatted:
if(block.t is not None):
snippets.append(block.t)
它工作正常,我只是想知道 excel sheet 是否有一些明显的问题,我不明白有人可以解释一下。我还没有找到 openpyxl 的代码,所以我不确定是什么决定了 "self.formatted" 的内容,但是,我的猜测是它是由传播区域中的合并单元格引起的 sheet .
编辑
在阅读了您的评论后,我进一步深入了解是否有任何数据可以与您分享。我更新了内容 属性("Cell/Text.py") 以输出它试图加入的数据,并在 "sharedStrings.xml" 中搜索了 xml 数据。打印的数据是:
['“Replaced Data”', None]
查看 sharedStrings 文件后,包含此数据的 xml 是:
<si>
<r>
<t>“Replaced Data”</t>
</r>
<r>
<rPr>
<sz val="11"/>
<color rgb="FF008080"/>
<rFont val="Calibri"/>
<family val="2"/>
<scheme val="minor"/>
</rPr>
<t/>
</r>
</si>
这与合并单元格无关,而是与文本的存储方式有关。您可以提交带有测试文件的错误报告吗?
我目前正在将多个传播 sheet 和 运行 解析为打开其中一些的问题。产生的错误将我定向到文件 "Cell\text.py",该行位于将内容 属性 中的片段连接在一起的行。
workBook = openpyxl.load_workbook(filepath, True)
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\excel.py", line 191, in load_workbook
shared_strings = read_string_table(archive.read(strings_path))
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\strings.py", line 21, in read_string_table
text = Text.from_tree(node).content
File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\cell\text.py", line 182, in content
return "".join(snippets)
TypeError: sequence item 3: expected str instance, NoneType found
如果我更改代码以检查格式化部分中块的附加情况,如下所示:
for block in self.formatted:
if(block.t is not None):
snippets.append(block.t)
它工作正常,我只是想知道 excel sheet 是否有一些明显的问题,我不明白有人可以解释一下。我还没有找到 openpyxl 的代码,所以我不确定是什么决定了 "self.formatted" 的内容,但是,我的猜测是它是由传播区域中的合并单元格引起的 sheet .
编辑
在阅读了您的评论后,我进一步深入了解是否有任何数据可以与您分享。我更新了内容 属性("Cell/Text.py") 以输出它试图加入的数据,并在 "sharedStrings.xml" 中搜索了 xml 数据。打印的数据是:
['“Replaced Data”', None]
查看 sharedStrings 文件后,包含此数据的 xml 是:
<si>
<r>
<t>“Replaced Data”</t>
</r>
<r>
<rPr>
<sz val="11"/>
<color rgb="FF008080"/>
<rFont val="Calibri"/>
<family val="2"/>
<scheme val="minor"/>
</rPr>
<t/>
</r>
</si>
这与合并单元格无关,而是与文本的存储方式有关。您可以提交带有测试文件的错误报告吗?