Справка Импорт файла CSV с переменными столбцами на строку в таблицу SQL с помощью инструмента импорта или служб SSIS - PullRequest
0 голосов
/ 21 сентября 2011

Я застрял с файлом CSV с более чем 100 000 строк, который содержит изображения продуктов от поставщика.Вот подробности проблемы, я был бы очень признателен за некоторые советы, которые помогут решить эту проблему.Спасибо.

Файл имеет 1 строку на продукт и следующие 4 столбца.Пример: идентификатор, URL, высота, ширина: 1, http://i.img.com,100,200

Проблема начинается, когда продукт имеет несколько изображений.Вместо того, чтобы иметь по 1 строке на изображение, файл имеет больше столбцов в одной строке.
пример: 1, http://i.img.com,100,200,//i.img.com,20,100,//i.img.com,30,50

Обратите внимание, что только первое изображение имеет "http://", остальные изображения начинаются с" // "

Невозможно определить, сколько изображений в продукте, следовательно, невозможно определить, сколько всего столбцов в строке или макс. Столбцов.

Как импортировать это с помощью мастера импорта служб SSIS или sql.

Также я должен делать это через регулярные промежутки времени.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 21 сентября 2011

Я не думаю, что вы можете использовать любую стандартную задачу или мастер SSIS для этого. Вам нужно написать какой-то специальный код, который будет анализировать каждую строку. Вы можете сделать это в SSIS с использованием кода VB или импортировать файл в промежуточную таблицу, которая представляет собой один столбец для хранения каждой строки и выполнения анализа в SQL. Служба SSIS, вероятно, будет быстрее для операций такого типа.

Другой возможностью является предварительная обработка файла с помощью регулярных выражений или команды поиска и замены. Попытайтесь получить двойные кавычки вокруг списка изображений, тогда вы сможете импортировать весь файл в порядке, с частью в кавычках, помещенной в один столбец. Поймать начало строки должно быть достаточно легко, учитывая «http: \», по которому вы можете искать. Определить, куда идет заключительная цитата, может быть больше проблемой.

Третье потенциальное решение - найти источник для исправления данных. Даже если вы не можете получить изображения в отдельных строках (или другой файл с отдельными строками, что было бы идеально), возможно, вы можете получить двойные кавычки, добавленные из источника, как часть экспорта. Это, вероятно, будет менее подвержено ошибкам, чем использование метода поиска и замены.

Удачи!

...