Ребят, подскажите с идеей, как реализовать парсер CSV файлов, который файлы любой структуры подгоняет под шаблон.
Допустим открываем мы файл, а там 25 столбцов, а нам надо из 25 всего 10 да ещё и приводить строку(столбец) "Гайка: 25х1.5" к виду столбец 1 = "25" столбец 2 ="1.5", а может быть написано и "Белка ололо - 31:90"...
какие есть у кого идеи?)
1. Maxi - 19 Марта, 2012 - 19:28:30 - перейти к сообщению
2. Maxi - 20 Марта, 2012 - 14:06:46 - перейти к сообщению
Maxi пишет:
Ребят, подскажите с идеей, как реализовать парсер CSV файлов, который файлы любой структуры подгоняет под шаблон.
Допустим открываем мы файл, а там 25 столбцов, а нам надо из 25 всего 10 да ещё и приводить строку(столбец) "Гайка: 25х1.5" к виду столбец 1 = "25" столбец 2 ="1.5", а может быть написано и "Белка ололо - 31:90"...
какие есть у кого идеи?)
Допустим открываем мы файл, а там 25 столбцов, а нам надо из 25 всего 10 да ещё и приводить строку(столбец) "Гайка: 25х1.5" к виду столбец 1 = "25" столбец 2 ="1.5", а может быть написано и "Белка ололо - 31:90"...
какие есть у кого идеи?)
up :\
3. EuGen - 20 Марта, 2012 - 14:19:54 - перейти к сообщению
Maxi
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.
4. Maxi - 20 Марта, 2012 - 17:04:06 - перейти к сообщению
EuGen пишет:
Maxi
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.
Задача сводится к написанию корректного регулярного выражения для разделителя, но в том виде, в котором Вы ставите задачу, четкого понимания, как это делать - нет.
Задайтесь вопросом, что Вы видите как разделитель, формализуйте это и получите 80% решения.
Понимаете, Евгений, стоит задача у меня реализовать парсер, который будет приводить прайс лист любого вида к заданному шаблону......чёткого вида в котором будет представлена информация к сожалению нет :\....т.е. разделитель может быть любым.
У меня была иде
Только что прям пришла новая в голову..) А если из строки выбирать подстроку вида (0-9,-_x*,0-9), а потом этот разделитель менять на тот который мне нужен...
5. EuGen - 20 Марта, 2012 - 17:57:32 - перейти к сообщению
Нет, Вы не понимаете. Если у Вас неопределен разделитель, то как можно разобрать что-то наподобие
гайка-20мм,10мм, автозапчасти, автомобили
(первая запятая относится к детали, остальные - разделители)
- то есть нет гарантии, что разделитель не будет встречаться в данных. Это первое.
Затем, если у Вас в разделителе может быть 1.5 - в каком случае это нужно трактовать как вещественное число 1.5, а в каком - как два числа 1 и 5? Ну и т.п. - подобных случаев можно представить большое количество. Потому повторюсь - формализуйте требования исходя из первоначальной задачи.
гайка-20мм,10мм, автозапчасти, автомобили
(первая запятая относится к детали, остальные - разделители)
- то есть нет гарантии, что разделитель не будет встречаться в данных. Это первое.
Затем, если у Вас в разделителе может быть 1.5 - в каком случае это нужно трактовать как вещественное число 1.5, а в каком - как два числа 1 и 5? Ну и т.п. - подобных случаев можно представить большое количество. Потому повторюсь - формализуйте требования исходя из первоначальной задачи.