|
|
|
| Уважаемые профессионалы, помогите новичку.
Задача стоит такая, нужно txt файл перевести в csv по определенному шаблону.
В txt файле разделителями является знак табуляции. Знаки табуляции на точки с запятой я смог заменить, убрал лишний столбец, а дальше полный ступор...
<?php
$f_arr = file( "TXT.TXT" );
$strc = count($f_arr);
echo $strc;
$f = fopen( "result.csv" , "w" );
for( $i = 17; $i < count( $f_arr ); $i++ )
{
$f_arr[$i]= str_replace(" ", ';', $f_arr[$i]);
$f_arr[$i]= str_replace(";;", ';', $f_arr[$i]);
fwrite( $f , $f_arr[$i] );
}
close($f);
?>
|
Получается вот такой csv :
2093;L-глютамин;Universal;Glutamine powder 300 гр;980.00;0
2166;L-глютамин;Weider;L-Glutamine 300 гр;1410.00;0
5256;Аксессуары;Ironman;Лямки для пресса;810.00;0
5257;Аксессуары;Ironman;Напульсник с накладкой;240.00;0
|
А нужно:
;;L-глютамин;;
2093;Universal;Glutamine powder 300 гр;980.00;0
2166;Weider;L-Glutamine 300 гр;1410.00;0
;;Аксессуары;;
5256;Ironman;Лямки для пресса;810.00;0
5257;Аксессуары;Ironman;Напульсник с накладкой;240.00;0
|
Изначально txt вот такой:
2093 L-глютамин Universal Glutamine powder 300 гр 980.00 0
2166 L-глютамин Weider L-Glutamine 300 гр 1410.00 0
5256 Аксессуары Ironman Лямки для пресса 810.00 0
5257 Аксессуары Ironman Напульсник с накладкой 240.00 0
|
| |
|
|
|
|
|
|
|
для: dozen
(22.12.2009 в 19:30)
| | Изначально txt неудачный. | |
|
|
|
|
|
|
|
для: sim5
(23.12.2009 в 02:39)
| | Это понятно, но ничего не поделять ( | |
|
|
|
|
|
|
|
для: dozen
(23.12.2009 в 09:42)
| | У вас что база вам не доступна, почему файл для хранения таких данных?
Получите из файла массив, отсортируйте его по необходимому полю, а уже затем в цикле (с проверкой) получайте CSV. Но лучше таковое держать в базе. | |
|
|
|
|
|
|
|
для: sim5
(23.12.2009 в 09:49)
| | Это файл экспорта складской программы. Программа складская написана на FOXPRO, если я не ошибаюсь. Что она там использует за формат для хранения мне тоже не известно. Короче говоря экспортирует она файл именно такого формата. | |
|
|
|
|
|
|
|
для: dozen
(23.12.2009 в 14:20)
| | Да, на fox такое, но зачем из него делать csv, для каких целей? В РНР можно работать с записями БД в формате dBase, возможно лучше этим воспользоваться, если нужно преобразовать эти записи. К тому же существуют конверторы баз данных, и если требуется одноразовое преобразование, то лучше воспользоваться таким инструментом. | |
|
|
|