Работа с csv

Тема в разделе "PHP", создана пользователем dozenn, 22 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dozenn

    dozenn Прохожие

    Уважаемые профессионалы, помогите новичку.

    Задача стоит такая, нужно 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
     
  2. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    Я бы строку
    PHP:
    $f_arr[$i]= str_replace("    "';'$f_arr[$i]);
    заменил на
    PHP:
    $f_arr[$i]= str_replace("\t"';'$f_arr[$i]);
     
Статус темы:
Закрыта.