CSV to SQL Convertor

По работе появилась простая задача: CSV-файл вида

o_view,o_text,remap_view
01,"Сельское хозяйство, охота и предоставление услуг в этих областях",01
01.11,"Выращивание зерновых, технических и прочих сельскохозяйственных культур, 
не включенных в другие группировки",01.11

надо преобразовать к виду:

INSERT INTO `ref_okved` (o_view, o_text, remap_view)  VALUES 
('01' , 'Сельское хозяйство, охота и предоставление услуг в этих областях' , '01'); 
INSERT INTO `ref_okved` (o_view, o_text, remap_view)  VALUES 
('01.11' , 'Выращивание зерновых, технических и прочих сельскохозяйственных культур, 
не включенных в другие группировки' , '01.11');

Ну казалось бы, что проще – гугл, онлайн-конвертор, тысячи их, профит? А фигушки.

Один конвертор не умеет UTF-8. Другой – не понимает разделители внутри enclosure (т.е. строку 01,'Сельское хозяйство, охота и... ' , 01 он разбивает на части по запятым, совершенно игноруя тот факт, что вторая запятая вообще-то внутри кавычек).
Третий не понимает разделитель запятую и хочет точку с запятой.
Четвертый платный (или хочет регистрацию) и за раз может делать только 50 строк.
Пятый всем хорош, но не понимает кавычки как ограничитель строк.
Шестой тоже всем хорош, но не понимает 01 как строку и преобразовывает её в число…

Ах да, я не только онлайн-сервисы искал, но и в репозитории node.js рылся. Те же яйца, вид сбоку.

Короче, хочешь что-то сделать хорошо – сделай это сам:

KarelWintersky/csv2sql.php at gist.github.com

Отправить ответ

Добавить комментарий

  Подписаться  
Уведомление о