我喜欢以特定方式格式化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
答案 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