Большой Воронежский Форум
» Программирование>Как очистить файл от лишних данных (csv)
chudesaty 22:04 02.08.2009
Уважаемые форумчани, оч нужна Ваша помощь)

Есть файлы csv которые получаю скриптиком. их вид:
Код:
"xxxx (1618)","yyyyyy (833)","zzzzzzzzz (11750)","qqqqqqqqqq (104)","wwwwww (79)"

"xxxx (118)","yyyyyy (8633)","zzzzzzzzz (117580)","qqqqqqqqqq (1504)","wwwwww (795)"

"xxxx (16184)","yyyyyy (8336)","zzzzzzzzz (117250)","qqqqqqqqqq (1034)","wwwwww (739)"
Необходимо - убрать из этих файлов все, вроме самого содержимого скобок. xxxx yyyy известны заранее. меняются только числа в скобках. вот надо получить из такого файла - такой: где одна строка будет итогом суммой чисел одной строки, из исходного файла.

лучше всего на чем -нить кроссплатформенном. есть как вариант js - на нём такое можно провернуть? Вариант еще - макрос в OpenOffice.. вообщем надо это сделать без лишнего софта по возможности. есть какие нить предложения?

последовательность действий: считали из исходного файла строку - посчитали сумму в скобках - вставили в другой файл и перевели там на др строку. Повтороли считывание след строки [Ответ]
chudesaty 22:34 02.08.2009
Как вариант, как можно переправить вот такую вот штуку :

viewid=s.substr(s.indexOf("=")+1,s.length)

под: присвоить viewid значение, которое находится в скобке в первом примере =) [Ответ]
chudesaty 23:46 02.08.2009
Вариант три : допустим "xxxx (1618)" и остальные фигнюшки - каждая такая штука = 1 ячейка в EXCEL - как регулярным выражением убрать хххх ( и ) ? [Ответ]
X0R 01:09 03.08.2009
с помощью регулярки чисти:
Код:
^[" \w]+\((\d+)[",) \w]+\((\d+)[",) \w]+\((\d+)[",) \w]+\((\d+)[",) \w]+\((\d+).+
Код:
$1 $2 $3 $4 $5

Изображения
Нажмите на изображение для увеличения
Название: sshot-20.png
Просмотров: 44
Размер:	91.4 Кб
ID:	507116  
[Ответ]
Part!zan 21:07 04.08.2009

Сообщение от X0R:
с помощью регулярки

можно и попроще...
Код:
^[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)
[Ответ]
alemiks 06:59 05.08.2009

Сообщение от Part!zan:
можно и попроще...

Код:
^[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)[^\(]+?\((.+)?\)

а так не проще?
Код:
\((\d+)\)
[Ответ]
Part!zan 10:46 05.08.2009
alemiks, так он только одну скобку найдет... [Ответ]
alemiks 19:03 05.08.2009

Сообщение от Part!zan:
alemiks, так он только одну скобку найдет...

ну да, потом выполняем exec, пока есть совпадения [Ответ]
Part!zan 20:05 05.08.2009
alemiks, ну а регэкспы xora и мой сразу выдают результат. Короче, автор может выбирать. [Ответ]
Вверх