python读取word中表格,原本的不可以读取,复制后的可以读取

python读取别人写的word文档中的表格就报错,但是当我把他的word所有内容复制到我新建的文档中时,可以正确读取,这是为什么呢?

myTable = docx1.tables[1]
    print("表格数", len(docx1.tables))
    print("表格行数", len(myTable.rows))
    for myRow in myTable.rows:
        for cell in myRow.cells:
            print(cell.text)

Traceback (most recent call last):
  File "E:\pythontest\main.py", line 62, in <module>
    for cell in myRow.cells:
                ^^^^^^^^^^^
  File "F:\Python3.11.3\Lib\site-packages\docx\table.py", line 401, in cells
    return tuple(self.table.row_cells(self._index))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\Python3.11.3\Lib\site-packages\docx\table.py", line 103, in row_cells
    column_count = self._column_count
                   ^^^^^^^^^^^^^^^^^^
  File "F:\Python3.11.3\Lib\site-packages\docx\table.py", line 185, in _column_count
    return self._tbl.col_count
           ^^^^^^^^^^^^^^^^^^^
  File "F:\Python3.11.3\Lib\site-packages\docx\oxml\table.py", line 140, in col_count
    return len(self.tblGrid.gridCol_lst)
               ^^^^^^^^^^^^
  File "F:\Python3.11.3\Lib\site-packages\docx\oxml\xmlchemy.py", line 513, in get_child_element
    raise InvalidXmlError(
docx.oxml.exceptions.InvalidXmlError: required ``<w:tblGrid>`` child element not present
表格数 18
表格行数 16

網上找到的:
說是重新儲存為 2007/2010 格式就可以了。
有可能是 庫本身格式的判定 不夠完善。
鏈接:
docx.oxml.exceptions.InvalidXmlError: required <w:tblGrid> child element not present · Issue #548 · python-openxml/python-docx
https://github.com/python-openxml/python-docx/issues/548

你看下 word 的表格 是不是有问题 , 你的代码没看出毛病,
但是报错信息提示, 你的word表格 少东西 它 <w:tblGrid>

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^