Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Умный парсер CSV файлов...
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Умный парсер CSV файлов...

Страниц (1): [1]
 

1. Maxi - 19 Марта, 2012 - 19:28:30 - перейти к сообщению
Ребят, подскажите с идеей, как реализовать парсер CSV файлов, который файлы любой структуры подгоняет под шаблон.

Допустим открываем мы файл, а там 25 столбцов, а нам надо из 25 всего 10 да ещё и приводить строку(столбец) "Гайка: 25х1.5" к виду столбец 1 = "25" столбец 2 ="1.5", а может быть написано и "Белка ололо - 31:90"...

какие есть у кого идеи?)
2. Maxi - 20 Марта, 2012 - 14:06:46 - перейти к сообщению
Maxi пишет:
Ребят, подскажите с идеей, как реализовать парсер CSV файлов, который файлы любой структуры подгоняет под шаблон.

Допустим открываем мы файл, а там 25 столбцов, а нам надо из 25 всего 10 да ещё и приводить строку(столбец) "Гайка: 25х1.5" к виду столбец 1 = "25" столбец 2 ="1.5", а может быть написано и "Белка ололо - 31:90"...

какие есть у кого идеи?)


up :\
3. EuGen - 20 Марта, 2012 - 14:19:54 - перейти к сообщению
Maxi
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.
4. Maxi - 20 Марта, 2012 - 17:04:06 - перейти к сообщению
EuGen пишет:
Maxi
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.


Понимаете, Евгений, стоит задача у меня реализовать парсер, который будет приводить прайс лист любого вида к заданному шаблону......чёткого вида в котором будет представлена информация к сожалению нет :\....т.е. разделитель может быть любым.

У меня была иде

Только что прям пришла новая в голову..) А если из строки выбирать подстроку вида (0-9,-_x*,0-9), а потом этот разделитель менять на тот который мне нужен...
5. EuGen - 20 Марта, 2012 - 17:57:32 - перейти к сообщению
Нет, Вы не понимаете. Если у Вас неопределен разделитель, то как можно разобрать что-то наподобие
гайка-20мм,10мм, автозапчасти, автомобили
(первая запятая относится к детали, остальные - разделители)

- то есть нет гарантии, что разделитель не будет встречаться в данных. Это первое.
Затем, если у Вас в разделителе может быть 1.5 - в каком случае это нужно трактовать как вещественное число 1.5, а в каком - как два числа 1 и 5? Ну и т.п. - подобных случаев можно представить большое количество. Потому повторюсь - формализуйте требования исходя из первоначальной задачи.

 

Powered by ExBB FM 1.0 RC1