Автор Тема: Поиск числовога значения в строке с кучей текста  (Прочитано 577 раз)

Оффлайн 3color

  • Начинающий
  • *
  • Сообщений: 4
Добрый день, работа связана с обработкой нереального количества информации и вручную выписывать значения ох как не хочется.
Для оптимизации работы сохраняю xml и с помощью формул нахожу данные, которые нужны.
В общем, один из документов выдает всю информацию с разбивкой по строкам, где указано все разом, выглядят строки примерно так:

1) Товар добавлен в корзину
2) лак яхтенный Лакра PARADE алкидно-уретановый глянцев. 0,75л Количество: 1 шт. 315 Стоимость: 315 Перейти в корзину Продолжить покупки хит продаж   лак паркетный ТЕКС ПФ-231 унив.глянц 0,8кг  Артикул: ПФ231-0.8/ун Код товара: 9010300085 Торговая марка: ТЕКС
3) Россия 0,92 кг В наличии   К сравнениюВ сравнении 179,- шт. В корзину

Позиций на сравнении больше 300, вручную перебивать и обновлять информацию 2 раза в неделю не представляется возможным... Собственно, вопрос: есть ли способ обработки информации, для вычленения из строки 2) наименование, артикул, стоимость? И при этом хотелось бы не видеть в конечном результате все, что после "перейти в корзину"...

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 434
    • Email
...
Собственно, вопрос: есть ли способ обработки информации, для вычленения из строки 2) наименование, артикул, стоимость?
...
Есть, как минимум два способа:
  • Использовать разделители при сборе строки, как это делается в DSV. Далее загонять это в дву- или многомерную таблицу. Потом обрабатывать уже в табличном виде.
  • (Лучше) вообще такие строки не собирать, ибо сдаётся изначально оно и так в виде таблицы.

Для таких вещей, собственно, базы данных и были придуманы.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
xml
Если это всё берётся откуда то со страниц сайтов, то рекомендую парсер на PHP - phpQuery. Умеет работать как с HTML, так и с XML.
Есть ещё PHP Simple HTML DOM Parser, но phpQuery в разы быстрее работает.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Если там не просто строки, а нормальные теги, то xsltproc или xmllint+grep в помощь.
Андрей Черепанов (cas@)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Пример файла с данными в студию :-)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
До кучи: awk, sed, bash. Perl в конце концов. Но tema прав - увидеть бы кусок файла.

Оффлайн 3color

  • Начинающий
  • *
  • Сообщений: 4
Пример файла с данными в студию :-)

Конечно, в понедельник отправлю.

Вообще проблема в достаточно скудном по на работе. И некотором недалеком умении использовать возможности эксель и кальк :(

Оффлайн 3color

  • Начинающий
  • *
  • Сообщений: 4
Вот реальный пример: вставка данных из сети с сайта - Максидом. Не совсем понятно, можно ли быстро разбить данные и выудить нужную информацию.

Сделала что-то подобное - пример с Леруа.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
3color

Я же вам написал выше, что если у вас сайт и вы его хотите распарсить, то рекомендую для этого дела PHP. Скрипт напишите и мониторьте цены на сайте, запуская его периодически автоматом или вручную.
Либо Skull предложил вариант сделать это на bash. Также пишите скрипт и также запускаете.

Лучше потратить время на написание скрипта, чем мучиться с Calc/Excel...

PS. Мне кажется, что подобные скрипты/софт можно найти в гугле, для мониторинга цен сайтов.
Сноси Винду, переходи на Линукс ! :)

Оффлайн 3color

  • Начинающий
  • *
  • Сообщений: 4
3color

Я же вам написал выше, что если у вас сайт и вы его хотите распарсить, то рекомендую для этого дела PHP. Скрипт напишите и мониторьте цены на сайте, запуская его периодически автоматом или вручную.
Либо Skull предложил вариант сделать это на bash. Также пишите скрипт и также запускаете.

Лучше потратить время на написание скрипта, чем мучиться с Calc/Excel...

PS. Мне кажется, что подобные скрипты/софт можно найти в гугле, для мониторинга цен сайтов.

Ок, спасибо, буду разбираться