Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > Разное/IT
Знаете ли Вы, что ...
...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :)
<< Предыдущий совет - Случайный совет - Следующий совет >>

Разное/IT Всё, что не попадает в другие разделы форума и подфорумов представленных здесь организаций. Не IT темы обсуждаются в "Беседке"


Ответить

 
Опции темы Опции просмотра
Старый 27.03.2014 18:14   #1  
Real ID Group uParty Member Ultimate
Аватар для Shomurodov Shohruh
Оффлайн
AKA:xshom
Сообщений: 1,872
+ 1,707  983/610
– 218  30/25

UzbekistanОтправить сообщение для Shomurodov Shohruh с помощью Skype™
Нужна помощь для решения одной прикладной задачи

Есть файл, который содержит текст вида
PHP код:
                             (    263)=T  350V 1675,
      
T  450V 1929,T  525V 1980,T  700V 2133,T  900V 2225,T 1100V 2491,
      
T 1300V 2693,T 1650V 3062,T 2625V 4028,
      
VF 5000,
                              (    
303)=T  350V 1675,
      
T  575V 2056,T  800V 2285,T  950V 2413,T 1075V 2514,T 1275V 2667,
      
T 1700V 3240,T 2150V 3799,T 2700V 4168,
      
VF 5000
Надо эти значения "пересобрать" так, чтобы было по столбцам и имели вид как здесь
PHP код:
|263    |350     |1675 
Где значение первого столбца это число между скобками, значение второго столбца - число после символа Т, а значение третьего столбца число после символа V.
Есть ли у кого идеи как это можно сделать с помощью программ из Майкрософт Офис или же все таки надо писать парсер? С программированием не знаком почти, только на уровне университетских занятий по паскалю, которые были давно и почти забыты.
Ответить 
"+" от:
Старый 27.03.2014 19:27   #2  
Known ID Group uParty Member Ultimate
Аватар для JH
Оффлайн
Сообщений: 10,921
+ 3,666  10,931/4,676
– 584  286/214

Uzbekistan
Выкладывай файл приложением, сделаем
Ответить 
Старый 27.03.2014 20:12   #3  
Real ID Group uParty Member Ultimate
Аватар для Shomurodov Shohruh
Оффлайн
AKA:xshom
Сообщений: 1,872
+ 1,707  983/610
– 218  30/25

UzbekistanОтправить сообщение для Shomurodov Shohruh с помощью Skype™
В приложении два файла: сам исходный файл и второй экзелевский файл с желаемым результатом.
files.ZIP
Ответить 
Старый 27.03.2014 20:58   #4  
Real ID Group uParty Member Ultimate
Аватар для Shomurodov Shohruh
Оффлайн
AKA:xshom
Сообщений: 1,872
+ 1,707  983/610
– 218  30/25

UzbekistanОтправить сообщение для Shomurodov Shohruh с помощью Skype™
ЖХ помог решить эту задачу, за что ему огромное спасибо!
Цитата:
Суть такова (Логи из ИМ):
1) Возьми исходный файл
2) переделай разрешение в .csv
3) Открыть с помощью ... WORD!!!! (не ЭКСЕЛЬ)
Когда попросит подтвердить формат просто нажми на ОК типа это юникод и т.п
4) Удали два таба в первой строке (при этом лучше сделать отображение невидимых символов - у меня они отображаются всегда)
5) Поиск и замена пробелов на ничто (удалятся все пробелы)
6) приведи число в скобках в первой и последней группе к единому виду (удалить одно вместе с минусом)
7) Поиск и замена ^p на ничто (весь файл склеится в одну строку)
8) Поиск и замена ( на ^p (файл при этом разобьется так что для каждого числа в скобках своя строка, начинающаяся с этого числа без скобки)
9) Поиск и замена запятых на ничто
10) Поиск и замена T на ^p, (для английской версии системы) или на ^p; (для русской)
10) Поиск и замена V на , (для английской версии системы) или на ; (для русской)
12) Поиск и замена )= на ничто
13) Поиск и замена F на ничто
все, сохраняем файл и открываем в экселе
При этом число в скобках не занимает первый столбец, но это дело ьыстро поправимое уже в экзеле
Ответить 
Старый 27.03.2014 21:21   #5  
Known ID Group uParty Member Ultimate
Аватар для JH
Оффлайн
Сообщений: 10,921
+ 3,666  10,931/4,676
– 584  286/214

Uzbekistan
Вообще, манипулирование текстом таким образом помогало мне решить множество частных задач.
Ответить 
2 "+" от:
Старый 27.03.2014 22:58   #6  
Заблокирован(а)
Аватар для ratheon
Оффлайн
Свиноферма
нанотехнолог
Сообщений: 672
+ 1  216/160
– 0  100/60

Uzbekistan
Код:
grep '(' | sed 's/(//;s/)=T//;s/V//;s/,//;s/^[ ]*//;s/^/|/;s/ /|/;s/ /|/;s/ /|/;s/||/|/'  < input.txt
выхлоп:
Код:
|263|350|1675
|303|350|1675

Последний раз редактировалось ratheon; 27.03.2014 в 23:15.
Ответить 
Старый 28.03.2014 08:13   #7  
Real ID Group uParty Member Ultimate
Аватар для Shomurodov Shohruh
Оффлайн
AKA:xshom
Сообщений: 1,872
+ 1,707  983/610
– 218  30/25

UzbekistanОтправить сообщение для Shomurodov Shohruh с помощью Skype™
ratheon, в ТС просто для примера была дана первая строка, а вообще в идеале надо бы преобразовать в виде
Цитата:
263|350|1675|
263|450|1929|
...................
263|2625|4028|
263| |5000
303|350|1675|
303|575|2056|
...................
303|2700|4168
303| |5000
А ваш код на чем запускать? Имейте ввиду, что я ничего про программирование не знаю
Ответить 
Реклама и уведомления
Старый 28.03.2014 10:18   #8  
Known ID Group
Аватар для Janbolat
Оффлайн
Джентльмен удачи
Доцент
Сообщений: 2,579
+ 2,956  3,517/943
– 70  50/42

UzbekistanМой мирFacebook
на линуксе, одной командой можно указать что на что менять и указать путь к файлу. на выходе получили б готовый файл.
Ответить 
Ответить
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх