Как перебирать таблицы в .docx и возвращать строку / столбец пустых ячеек - PullRequest
0 голосов
/ 04 ноября 2018

Я пишу скрипт на 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()
...