Экспорт массива (таблицы) из Powershell в csv

При работе с массивами данных в Powershell бывает необходимо выгрузить данные в таблицу, чтобы потом открыть ее в Excel. Напрямую программировать выгрузку массива в файл Excel не рекомендуется, т.к. для этого необходимо хотя бы иметь установленный Excel на машине, где запускается скрипт. Кроме того, такой код будет работать достаточно медленно. Лучше всего выгружать массив в csv-файл.
Как это делается?

Для начала, надо определить специальный массив:
$export_array = @();

Далее набиваем его данными:

$export_array += ,@(""); # это просто пустая строка
$export_array += ,@($a1, $b1, $c1);
$export_array += ,@($a2, $b2, $c2);
$export_array += ,@($a3, $b3, $c3);

Формируем путь и имя к csv-файлу:

$datetime = Get-Date -Format "yyyy.MM.dd_HH-mm-ss";
$file_name = "audit_result_" + $datetime + ".csv";
$file_path = "./" + $file_name;

Непосредственно выгружаем массив в файл:

foreach($item1 in $export_array)  
{  
	$csv_string = "";
	foreach($item in $item1)
	{
		$csv_string = $csv_string + $item + ";";
	}
	Add-Content $file_path $csv_string;
}

 

Метки: script, powershell (ru)

ПечатьE-mail

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


Защитный код
Обновить