Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489

считать таблицу

29.11.2016, 20:50. Показов 4524. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте, нужна помощь. Есть документ. Структура документа следующая: блок пронумерованных абзацей(их может быть любое количество) после которого следует таблица и так много раз. Необходимо по номеру абзаца заходить в соответствующий стб таблицы и брать информацию. необходимо к абзацам дописать данные из таблицы
Вложения
Тип файла: doc пример.doc (40.0 Кб, 7 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2016, 20:50
Ответы с готовыми решениями:

Считать и вывести таблицу - 3
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Не используйте...

Считать и вывести таблицу
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Формат ввода На...

Считать и отсортировать таблицу
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Каждый ряд таблицы нужно...

27
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.12.2016, 03:15  [ТС]
Студворк — интернет-сервис помощи студентам
Так и думал. Я то подумал, что он как текст переносится будет.

Добавлено через 47 минут
А как узнать сколько строк и столбцов в таблице, какой метод?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.12.2016, 03:27
я Вам зря код что ли писал несколько часов?
len(t.rows), len(t.columns)
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.12.2016, 11:27  [ТС]
Нет, не зря. Спасибо большое.
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.12.2016, 13:17  [ТС]
Я из одного документа отбираю записи где есть слово институт, и переношу в другой документ вместе со всеми таблицами.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# -*- coding: utf-8 -*
import re
import string 
import sys
import docx
import re
 
def getText(filename):
    doc = docx.Document(filename)
    return '\n'.join([p.text for p in doc.paragraphs])
document = docx.Document()
txt = getText('razna.docx')
for line in re.findall(r'^\d+\..* Институт\.$\n^.*$', txt, re.MULTILINE):
        p = document.add_paragraph(line)
doc = docx.Document('razna.docx')
tabl = doc.tables
t = len(tabl[0].rows) 
l = len(tabl[0].columns) 
 
table = document.add_table(t, l, style="Table Grid")
for ir, row in enumerate(table.rows):
    row_cells = row.cells
    for ic, cell in enumerate(row_cells):
        cell.text = tabl[0].rows[ir].cells[ic].text
row = table.rows[0]
a, *b = row.cells[1:]
text = a.text
for c in b:
    a.merge(c)
a.text = text
 
col = table.columns[0]
a, b = col.cells[:2]
text = a.text
a.merge(b)
a.text = text           
document.save('primer.docx')
Затем при помощи вашего кода извлекаю все значения из таблицы, но выскакивает ошибка. Если ничего никуда не переносить, он сделает все нормально.
Миниатюры
считать таблицу  
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.12.2016, 15:33  [ТС]
Исправил ошибку, вроде как получилось. надо было добавить табуляцию.
Python
1
2
for line in re.findall(r'^\d+\..* Институт\.$\n^.*$', txt, re.MULTILINE):
        p = document.add_paragraph('\t'+line)
Но теперь он вообще не читает таблицу.
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
09.02.2017, 18:22  [ТС]
Jabbson,подскажиье пожалуйста,что делает это строка кода
Python
1
parts_separated[i_x][i_para + 1].text += ' ' + pt[str(num)]
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.02.2017, 01:54
А что именно тут не понятно?
есть список списков parts_separated, откуда мы берем параграф по индексам i_x и i_para и к его тексту добавляем пробел и pt[str(num)].
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
10.02.2017, 12:45  [ТС]
Выводит ошибку на этой строке, если ключ не совпал.

Добавлено через 23 минуты
У меня такая ситуация, он берет номер заголовка и ищет его в таблице, например в заголовке стоит цифра 7, а в таблице ее нету. И из за этого ошибка, как можно это исправить.
Python
1
2
3
4
5
6
7
8
9
10
. 
# appending values from table
for i_x, x in enumerate(parts_separated):
    parags = x[:-1]
    pt = x[-1][1]
 
    for i_para, p in enumerate(parags):
        if re.match(r'\d+\.', p.text):
            num = re.search('\d+', p.text).group(0)
            parts_separated[i_x][i_para + 1].text += ' ' + pt[str(num)]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2017, 12:45
Помогаю со студенческими работами здесь

Считать и вывести таблицу
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Формат ввода На...

Считать и отсортировать таблицу
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Каждый ряд таблицы нужно...

Считать и вывести таблицу — 2
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы, затем выводит пустую...

Считать и отсортировать таблицу
Напишите программу, которая сначала считывает элементы таблицы один за другим, затем выводит их в виде таблицы. Каждый ряд таблицы нужно...

Как считать числа с файла в таблицу
Подскажите, пожалуйста, как прописать в коде чтобы для значений х х1 х2 выводились числа, записанные в файле , а для у,у1,у2 числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru