Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с csv
 
 автор: dozen   (22.12.2009 в 19:30)   письмо автору
 
 

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

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

  Ответить  
 
 автор: sim5   (23.12.2009 в 02:39)   письмо автору
 
   для: dozen   (22.12.2009 в 19:30)
 

Изначально txt неудачный.

  Ответить  
 
 автор: dozen   (23.12.2009 в 09:42)   письмо автору
 
   для: sim5   (23.12.2009 в 02:39)
 

Это понятно, но ничего не поделять (

  Ответить  
 
 автор: sim5   (23.12.2009 в 09:49)   письмо автору
 
   для: dozen   (23.12.2009 в 09:42)
 

У вас что база вам не доступна, почему файл для хранения таких данных?
Получите из файла массив, отсортируйте его по необходимому полю, а уже затем в цикле (с проверкой) получайте CSV. Но лучше таковое держать в базе.

  Ответить  
 
 автор: dozen   (23.12.2009 в 14:20)   письмо автору
 
   для: sim5   (23.12.2009 в 09:49)
 

Это файл экспорта складской программы. Программа складская написана на FOXPRO, если я не ошибаюсь. Что она там использует за формат для хранения мне тоже не известно. Короче говоря экспортирует она файл именно такого формата.

  Ответить  
 
 автор: sim5   (24.12.2009 в 07:08)   письмо автору
 
   для: dozen   (23.12.2009 в 14:20)
 

Да, на fox такое, но зачем из него делать csv, для каких целей? В РНР можно работать с записями БД в формате dBase, возможно лучше этим воспользоваться, если нужно преобразовать эти записи. К тому же существуют конверторы баз данных, и если требуется одноразовое преобразование, то лучше воспользоваться таким инструментом.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования