我一直在努力研究这一点,我正在尝试做一些我不确定在Powershell中是否可行的事情。我有这样的CSV文件,其中包含标题:
Field1,Field2,Field3
Field1aaa,abc,rst
Field2bbb,ghi,xyz
最后,我希望获取CSV并以特定格式导出到文本文件。对于我正在使用的程序,需要以这种方式对其进行格式化。有点像JSON文件,但不完全相同。我正在尝试为每个CSV行创建必要的文本块。这就是我从字面上试图获取的输出文本文件的内容
Fieldaaa {
field2<abc>
field3<rst>
}
Field2bbb {
field2<ghi>
field3<xyz>
字段1的思考就像上面列出的每个组的标题一样。我已经完成了在csv中的加载:
$userobjects = Import-CSV C:\temp\testcsv2.csv.
但是我不知道如何从这里开始。另外,我要添加的文本输出是Tab键。我想一旦知道如何解析此CSV并导出为文本,就可以通过在\ t中插入来实现。我可以使用Powershell 5.1,因为我正在使用该版本的Server 2016和Windows 10环境。请让我知道是否可以澄清其他内容。
您只需要遵循以下步骤:
这里是您可以执行此操作的一种方法:
$outString = ""
$userobjects = Import-CSV C:\test\test.csv
foreach ($object in $userobjects) {
$outString = @"
$outString
$($object.Field1) {
field2<$($object.Field2)>
field3<$($object.Field3)>
}
"@
}
Set-Content C:\test\out.txt $outString
或者也许是更强大的方法是
Import-Csv C:\test\test.csv | ForEach-Object {
Write-Output @"
$($_.Field1) {
field2<$($_.Field2)>
field3<$($_.Field3)>
}
"@ } > c:\test\out.txt
如果您还不知道,我建议您检查ss64以获取Powershell示例