Войти

Показать полную графическую версию : Скрипт по обработке текстового файла


Space-06
26-06-2009, 01:07
Доброго здравия всем формумчанам!!!
Собственно возник опять вопросик по AutoIt и хотелось бы у вас посоветоваться:
Есть текстовый файл примерно такого содержания:

№ счета, ФИО, сумма, 44 таких строк в файле очень много, и они разные.

Собсвенно в этом то и вопрос: необходимо каким то способом сделать построчное изменение структуры, чтоб в конце получилось вот такая конструкция:
1 44 №счета ФИО сумма. в Первом случае разделитель между значениями (,) - а в итоге нужен пробел

Сам стал экпериметировать с массивами и заменой внутри их, но увы _ArraySwap - умеет работать только с одно мерными массивами, да и если бы получилось весь файл с учетом разделителей ввести в массив и заменить в нем содержнания ( поменять значения ячеек - то проблем бы думаю поубавилось бы)
теперь почему то чуток заплутал как бы проще ...

Просьба подскажите решение.

Creat0R
26-06-2009, 01:13
Есть текстовый файл примерно такого содержания »
Примерно не подходит, давайте точное содержание файла (пару строк с него), и точно что должно получится на выходе (в тот же файл?).

Space-06
26-06-2009, 07:20
Собственно вот файл:
4230181010303хххххххх,Бояршинова Мария Гордеевна,7860.98,44
4230181010303хххххххх,Ковыляева Нина Ивановна,5282.25,44
4230181010303хххххххх,Ильясов Эдиссон Идрисович,6411.13,44

а результат должен быть таким:
1 44 4230181010303хххххххх 7860.98 Бояршинова Мария Гордеевна
1 44 4230181010303хххххххх 5282.25 Ковыляева Нина Ивановна
1 44 4230181010303хххххххх 6411.13 Ильясов Эдиссон Идрисович

во втором случае в первую позицию добавляется "1"

amel27
26-06-2009, 09:51
Space-06, где-то так:
$file_in = "c:\TEST\1.txt"
$file_out= "c:\TEST\2.txt"

$sText = StringRegExpReplace(FileRead($file_in), "(?m)^([^,\n\r]*),([^,\n\r]*),([^,\n\r]*),([^,\n\r]*)", "1 \4 \1 \3 \2")
$hFile = FileOpen($file_out,2)
FileWrite($hFile, $sText)

Space-06
26-06-2009, 10:36
Я просто шокирован что все так просто может разрешится.

Спасибо большое!!!




© OSzone.net 2001-2012