使用python docx读取单个表单元格使用的列数(colspan)

使用python docx读取单个表单元格使用的列数(colspan),python,cell,python-docx,Python,Cell,Python Docx,我正在尝试使用pythondocx读取具有多行和多列跨度的表。 如何确定我读取的当前单元格是否跨越1,2,。。。细胞 例如: |----------------------------------| |此单元格跨越|->跨越3个单元格 |----------------------------------| |A区| B区| C区| |单元格跨越acorss |单元格D |->跨越2个单元格 这些值仅在合并区域的左上角单元格中可用。但您可以通过以下方式访问它们: cell._tc.grid_sp

我正在尝试使用pythondocx读取具有多行和多列跨度的表。 如何确定我读取的当前单元格是否跨越1,2,。。。细胞

例如:

|----------------------------------|
|此单元格跨越|->跨越3个单元格
|----------------------------------|
|A区| B区| C区|
|单元格跨越acorss |单元格D |->跨越2个单元格

这些值仅在合并区域的左上角单元格中可用。但您可以通过以下方式访问它们:

cell._tc.grid_span  # --- optional int number of columns this cell spans ---
cell._tc.vMerge     # --- optional int number of rows this cell spans ---
这两个方向的值均为
None
,表示该方向没有合并

pythondocx
中,每个单元格都由其网格坐标“寻址”,网格坐标基本上是任何合并之前的表格形状。因此,您可以使用合并单元格包含的“地址”访问合并单元格。例如,3x3表左上角的2x2合并将通过行/列坐标(0,0)、(0,1)、(1,0)和(1,1)进行访问。每一个都将引用同一个单元格


因此,在任何合并单元格中都可以访问
.grid\u span
.vMerge
属性,无论您是如何到达该单元格的。

以下内容是否有帮助?(查找
def|u cells(self):
):一系列| u Cell|对象,布局网格的每个单元格一个。如果表格包含范围,则重复一个或多个| | |单元|对象引用。Thx。这很有帮助。一个好的答案通常会引出下一个问题:)属性vMerge为跨行的单元格返回“restart”值,而不是数字。有没有办法获得数值,或者我需要自己计算?这些是
\u tc
上提供的方法/属性。可能
tc.bottom-tc.top
@欢迎来到StackOverflow:)不要忘记接受正确的答案。这就是你感谢被调查者花时间回答问题的方式。