Подтвердить что ты не робот

Импортировать-Csv из строки вместо этого из файла?

Есть ли способ создать объект csv в powershell из переменной, содержащей строку? На данный момент мне нужно написать содержимое во временном файле, а затем импортировать его в csv, и я хочу уменьшить операции с дисками:

$some_string | Set-Content $temp_file
$csv_content=Import-Csv $temp_file

ИЗМЕНИТЬ

@Graham Gold, спасибо за ответы (я установил +1 на вас обоих), но кажется, что ответ Joey правильный. Вот мой тест:

    $csv_string="
`"col1`" ; `"col2`"
val11 ; val12
val21 ; val22"

$csv_content1 = $csv_string | ConvertFrom-CSV 
$csv_content2 = $csv_string | ConvertTo-CSV 
"
ConvertFrom result:"
$csv_content1
"
ConvertTo result:"
$csv_content2

И результат:

ConvertFrom result:

H1                                                                             
--                                                                             
col1 ; "col2"                                                                  
val11 ; val12                                                                  
val21 ; val22                                                                  

ConvertTo result:
#TYPE System.String
"Length"
"47"
4b9b3361

Ответ 1

Вместо этого вы можете использовать ConvertFrom-Csv:

$csv_content = $some_string | ConvertFrom-Csv -Delim ';'

Import-Csv - это немного больше, чем обертка вокруг Get-Content и ConvertFrom-Csv.

Ответ 2

Еще лучше:

$csv_content1 = ConvertFrom-CSV -delim ';' -Input @"
"col1"; "col2"
val11 ; val12
val21 ; val22
"@