У меня есть файл .CSV, который я создал с помощью утилиты BULK-COPY командной строки SQL Server для выгрузки нескольких таблиц базы данных.
Поскольку я хочу импортировать эти файлы .CSV с помощью Powershell и конвертироватьв хороший отчет с помощью командлета format-table, у меня проблемы с выравниванием столбцов и т. д.потому что некоторые столбцы содержат NULL из SQL Server.У меня нет возможности сначала преобразовать NULL из SQL Server;из-за способа экспорта таблицы в CSV.
Поэтому я хотел бы удалить все NULL из файла .CSV, прежде чем пытаться передать его в командлет format-table.
Мой основной код ниже:
$CSV=import-csv "c:\temp\tablename.csv"
$CSV | format-table -autosize | out-string -width 4096 >"C:\TEMP\tablename.txt"
Я пытался сделать что-то вроде:
$CSV | -replace($null,"") | format-table -autosize | out-string -width 4096 > "C:\TEMP\tablename.txt"
, но я все еще получаю NULL.
Кто-нибудь знает, как удалить NULL из моего CSV, чтобы я мог отобразить хороший табличный отчет.Я хочу импортировать эти отчеты .TXT в SVN, но значения NULL будут вызывать у меня проблемы, плюс это искажает отчеты.
Файл CSV, как показано в шестнадцатеричном редакторе:
00000EA0h: 31 38 39 2C 31 31 39 2C 37 35 29 2C 77 68 69 74 189,119,75),whit
00000EB0h: 65 2C 77 68 69 74 65 2C 2C 2C 2C 2C 2C 2C 2C 2C e,white,,,,,,,,,
00000EC0h: 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C 2C ,,,,,,,,,,,,,,,,
00000ED0h: 2C 2C 0D 0A 61 63 62 34 33 5F 30 31 2C 4F 4E 2C ,,..acb43_01,ON,
00000EE0h: 00 2C 32 37 2C 39 39 2C 2F 61 63 62 34 33 5F 30 .,27,99,/acb43_0
00000EF0h: 31 2F 34 33 62 61 6C 61 6E 63 65 73 2E 67 69 66 1/43balances.gif
Обратите внимание, что в EE0h первый символ равен NULL, 0x00.