17

有没有办法从包含字符串的变量在 powershell 中创建一个 csv 对象?目前我需要在临时文件中写入内容,然后将其导入 csv,我想减少磁盘操作:

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

编辑

@Graham Gold,谢谢你的回答(我对你们俩都设置了+1),但乔伊的回答似乎是正确的。这是我的测试:

    $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"
4

2 回答 2

31

您可以ConvertFrom-Csv改用:

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

Import-Csv只不过是对Get-Contentand的一个包装ConvertFrom-Csv

于 2013-07-05T09:40:02.290 回答
3

更好的是:

$csv_content1 = ConvertFrom-CSV -delim ';' -Input @"
"col1"; "col2"
val11 ; val12
val21 ; val22
"@
于 2014-01-02T20:30:05.373 回答