나는 이것을 조사하기 위해 노력하고 있으며 Powershell에서 가능하지 않은 것을 시도하고 있습니다. 헤더가 포함 된 다음과 같은 CSV가 있습니다.
Field1,Field2,Field3
Field1aaa,abc,rst
Field2bbb,ghi,xyz
결국 CSV를 가져 와서 특정 형식의 텍스트 파일로 내보내려고합니다. 그리고 내가 작업하는 프로그램에 대해 이런 방식으로 포맷해야합니다. JSON 파일과 비슷하지만 정답은 아닙니다. 각 CSV 행에 대한 필수 텍스트 블록을 만들려고합니다. 여기에 내가 말 그대로 출력 텍스트 파일을 얻으려는 것입니다.
Fieldaaa {
field2<abc>
field3<rst>
}
Field2bbb {
field2<ghi>
field3<xyz>
위에 나열된 것처럼 field1을 각 그룹의 제목과 같이 생각하십시오. csv에서로드를 완료했습니다.
$userobjects = Import-CSV C:\temp\testcsv2.csv.
하지만 여기서 어떻게해야할지 모르겠습니다. 추가하려는 텍스트 출력은 탭 키입니다. 이 CSV를 구문 분석하고 텍스트로 내보내는 방법을 알아 내면 \ t에 삽입하여이 작업을 수행 할 수 있다고 생각합니다. 그리고 해당 버전의 Server 2016 및 Windows 10 환경에서 작업 할 때 Powershell 5.1을 사용할 수 있습니다. 다른 것을 명확히 할 수 있으면 알려주세요.
다음 단계를 따르기 만하면됩니다.
이를 수행 할 수있는 한 가지 방법은 다음과 같습니다.
$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
아니면 좀 더 PowerShelly 방법은
Import-Csv C:\test\test.csv | ForEach-Object {
Write-Output @"
$($_.Field1) {
field2<$($_.Field2)>
field3<$($_.Field3)>
}
"@ } > c:\test\out.txt
아직 모르는 경우 ss64 에서 powershell 예제를 확인하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다