удаление лишнего пространства в последнем ряду с помощью ssis - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть CSV-файл, который содержит несколько строк, столбцов. У меня проблема с источником, потому что в последней строке есть дополнительное место. Как я могу удалить это место?

Вы можете видеть, что на следующем изображении есть дополнительный пробел в конце

you can see the attached image has an extra space at the end

1 Ответ

0 голосов
/ 06 ноября 2018

Так как вы открыты для powershell, я использовал этот метод. Важно, чтобы в каждом файле была последняя мысль о LF/CR. Если это может быть отсутствует , тогда вам нужно будет поставить чек на это.

Один файл

$stream = [IO.File]::OpenWrite("somefile.csv")
$stream.SetLength($stream.Length - 2)
$stream.Close()
$stream.Dispose()

Несколько файлов в каталоге

#Remove the last bit of data from the end of the file, which is a LF, so BULK INSERT doesn't break
$fileDirectory = "E:\dir\subdirectory"

foreach($file in Get-ChildItem $fileDirectory)
{
    $filePath = $fileDirectory + "\" + $file

    $stream = [IO.File]::OpenWrite($filePath)
    $stream.SetLength($stream.Length - 2)
    $stream.Close()
    $stream.Dispose()
}

Я использую это для довольно большого ежедневного набора данных, и это глупо быстро, секунду или две. Оригинальная идея приписана Джои через этот ответ.

ОТ ОП

Execute process Task Values

...