перебирать таблицы в текстовом документе, используя python docx - PullRequest
1 голос
/ 13 января 2020

Я пытался выяснить, как добавить ячейку 0 из всех таблиц в текстовом документе в my_list, мне удалось добавить из указанного c номера размещения таблицы (96), но, похоже, не удается извлечь все таблицы данные, я использовал это для массива таблиц № 96, и это сработало

`tables = list(d.tables)
tbl = d.tables[96]
my_list = []
for rw in tbl.rows:
    my_list.append(rw.cells[0].text)

print(my_list)

, пробовал много разных опций для итерации всех таблиц и добавления в my_list, один из которых приведен ниже, но он выдает ошибку 'Table' объект имеет нет атрибута 'клетки'

my_list = []

tbl = list(d.tables)
for val in tbl:
    for rw in tbl:
        my_list.append(rw.cells[0].text)


print(my_list)

любая помощь очень ценится

1 Ответ

0 голосов
/ 21 января 2020

Это не полный исполняемый пример, поэтому я не могу его проверить, но:

Эта часть плохая Python:

for val in tbl:
    for rw in tbl:

Вы повторяете tbl дважды, и все внешнее l oop делает внутреннее l oop len(tbl) раз. Вторая строка может быть

for rw in val:

, но я не на 100% об этом из-за недостаточно информации.

(Кроме того, рассмотрите возможность переименования как tbl, так и val во что-то похожее то, что они содержат: list_of_tables и a_table было бы намного лучше. Кроме того, используйте row вместо rw, так как Python не имеет необоснованной ширины имени переменной длины.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...