Подскажите каким способом можно составить таблицу из данных

  • Автор темы Автор темы MaxLucky
  • Дата начала Дата начала

MaxLucky

Client
Регистрация
13.08.2017
Сообщения
239
Реакции
18
Баллы
18
Добрый вечер. Такой вопрос. Подскажите пожалуйста метод, с помощью которого можно будет составить таблицу, из всех параметров.

Сейчас получается большой список. По предприятиям. Где-то присутствует email, где-то нет. Где-то присутствует директор, где-то нет, где-то "ген. директор". И самое главное что во многих местах, например адрес располагается на 2-3 строчках.
 

Вложения

всё что с новой строки и до двоеточия - это колонка таблицы (адрес, тел., дир. и т.д.)
Немного не понял.

Вот например в списке идёт:

адрес: 404143, Среднеахтубинский р-н,
х. Заярский
Дир.: Струк Владимир Михайлович

адрес относится к 2-м строкам. Как прописать логику, чтобы шаблон понимал, что 2 строки относятся к адресу, и соединял их. И + как определить где кончается одна компания и начинается другая. В этом весь вопрос... Список там большой.
 
Немного не понял.

Вот например в списке идёт:

адрес: 404143, Среднеахтубинский р-н,
х. Заярский
Дир.: Струк Владимир Михайлович

адрес относится к 2-м строкам. Как прописать логику, чтобы шаблон понимал, что 2 строки относятся к адресу, и соединял их. И + как определить где кончается одна компания и начинается другая. В этом весь вопрос... Список там большой.
85934
(?m)^([^:\r\n]+):([^:]+)(?=$|\r?\n[^:]+:) Примерно такой регуляркой можно заставить понимать, что 2 строки относятся к 1му пункту. А вот как шаблон научить различать, что строка это фирма, это уже задача куда сложнее. Нужно искать закономерности. Если у каждой есть ООО или ЗАО и тому подобное, то можно найти решение. А вот если там могут быть названия вполне простые, то придётся думать куда более умный алгоритм.

Хотя вид данных сам по себе странный. Если он парсится, неужели при парсинге нельзя сразу получать всё в красивом виде, а не таком месиве?
 
  • Оценить
Реакции: MaxLucky и trecho
Посмотреть вложение 85934
(?m)^([^:\r\n]+):([^:]+)(?=$|\r?\n[^:]+:) Примерно такой регуляркой можно заставить понимать, что 2 строки относятся к 1му пункту. А вот как шаблон научить различать, что строка это фирма, это уже задача куда сложнее. Нужно искать закономерности. Если у каждой есть ООО или ЗАО и тому подобное, то можно найти решение. А вот если там могут быть названия вполне простые, то придётся думать куда более умный алгоритм.

Хотя вид данных сам по себе странный. Если он парсится, неужели при парсинге нельзя сразу получать всё в красивом виде, а не таком месиве?
Информация берётся из PDF документа. В котором всё и идёт в таком порядке (+ в ручную почистил от мусора). Попробую, что-нибудь придумать c помощью вашей регулярки :)
 
Информация берётся из PDF документа. В котором всё и идёт в таком порядке (+ в ручную почистил от мусора). Попробую, что-нибудь придумать c помощью вашей регулярки :-)
неужели визуально там всё идёт сплошным текстом? ни дополнительных строк, ни жирного шрифта, ни курсива, ни большего кегля, ни дополнительных разрывов?
 
неужели визуально там всё идёт сплошным текстом? ни дополнительных строк, ни жирного шрифта, ни курсива, ни большего кегля, ни дополнительных разрывов?
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    115,2 KB · Просмотры: 3
ну? там чёткое есть разделение. Есть снаружи, есть и внутри
Тогда вопрос, как это спарсить со всеми этими разделениями? Zennoposter особо не дружит с чтением PDF файлов, как я понял
 
Тогда вопрос, как это спарсить со всеми этими разделениями? Zennoposter особо не дружит с чтением PDF файлов, как я понял
Тогда вопрос, как это спарсить со всеми этими разделениями? Zennoposter особо не дружит с чтением PDF файлов, как я понял
а сейчас как парсишь?
 
а сейчас как парсишь?
Сейчас я просто скопировал в ручную весь текст. Потом зенкой ненужные строки все удалил.

Изначально пытался читать зенкой, конвертировать файл - не получилось.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)