如何迭代.docx中的表并返回空单元格的行/列

时间:2018-11-04 19:55:24

标签: python python-2.7 win32com

我正在编写一个python脚本,以查看包含固定数量的大小不同的表的数百个word文档。目前,我能够对单元格位置(行/列)进行硬编码并返回其值,但是我尝试了几种不同的技术来计算每个表中有多少个单元格(行/列),以避免硬编码而每次失败。如何修改下面的内容以检查所有单元格(无论表大小如何)并返回空单元格的行/列?我已经导入了win32com.client。

def run_analysis():
    word               = win32.Dispatch("Word.Application")
    word.Visible       = 0
    word.DisplayAlerts = False
    x                  = 0
    t                  = test_file_location_list
    table_contents     = []

    while x < len(t):

        try:
            # Open the word document
            word.Documents.Open(t[x].root_dir + '\\' + t[x].file_name)
            # Create variable for instantiation of word document
            doc        = word.ActiveDocument          
            # count the number of tables in the document
            tableCount = doc.Tables.Count

            c = 0
            while c < tableCount:
                table_value = (doc.Tables(c+1).Cell(1,1).Range.Text) #COM object starts index at 1
                table_contents.append(remove_chars(table_value)) 
                c += 1
            print table_contents

        except Exception as e:
            print e

        finally:
            doc.Close()
            table_contents = []
            x += 1

    word.Quit()

0 个答案:

没有答案