4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489

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

29.11.2016, 20:50. Показов 4533. Ответов 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 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru