Powershell:以特定方式格式化Import-Csv记录的输出

时间:2014-10-11 15:24:53

标签: powershell powershell-v3.0

我喜欢以特定方式格式化CSV记录的输出。

让我们说,我有一个包含这些记录的csv文件:

Field1,Field2
blah,blah
bluh,bluh

现在,我想要实现的是具有此格式的输出(进入控制台或文件)

('blah','blah')
('bluh','bluh')

这[1]不起作用! Powershell只是在out.txt中写入任何内容。

[1]

Import-Csv .\test.csv | Select-Object Field1,Field2 | ForEach-Object {Write-Host "('"$_.Field1"', '"$_.Field2"')"} > .\out.txt

2 个答案:

答案 0 :(得分:3)

使用格式运算符:

import-csv .\test.csv | %{ "({0},{1})" -f $_.Field1, $_.Field2; }

要输出到文件,只需在那里输出输出;即。

import-csv .\test.csv | %{ "({0},{1})" -f $_.Field1, $_.Field2; } | out-file .\out.txt

有关格式运算符的更多信息:http://ss64.com/ps/syntax-f-operator.html

答案 1 :(得分:2)

如果工作,请尝试此操作

...{Write-output "('$($_.Field1)', '$($_.Field2)')"} > .\out.txt

不要使用write-host