PowerShell에서 CSV로 데이터 내보내기
-
Export-CSV
PowerShell Cmdlet을 사용하여 CSV로 데이터 내보내기 -
ConvertTo-CSV
PowerShell Cmdlet을 사용하여 데이터를 CSV로 내보내기
CSV 파일은 내용에 특정 형식이 적용된 구분된 텍스트 파일입니다. 형식은 다음 예와 같이 간단한 테이블 구조와 매우 유사합니다.
예를 들어,
Name, NIC, Phone
John, 394829G, +671392392
Risabh, 32909340J, +12328833
CSV
는 Comma Separated Values
의 약어입니다. 파일 형식(CSV)에서 알 수 있듯이 데이터 값을 쉼표로 구분합니다. 데이터가 포함된 CSV 파일을 생성하는 데 사용할 수 있는 다양한 도구가 있습니다.
이 기사에서는 PowerShell에서 데이터를 CSV 파일로 내보내는 방법에 대해 설명합니다.
Export-CSV
PowerShell Cmdlet을 사용하여 CSV로 데이터 내보내기
Export-CSV
는 데이터를 CSV 형식으로 내보내는 데 사용할 수 있는 PowerShell cmdlet 중 하나입니다. 이 cmdlet은 비교적 사용하기 쉽고 몇 가지 속성도 사용할 수 있습니다.
Export-CSV
Cmdlet 구문
<data_objects/content> | Export-CSV -Path <path>
<data_objects/content>
: Export-CSV cmdlet에 공급되는 데이터 개체/콘텐츠입니다.Export-CSV
: CSV 형식으로 데이터 내보내기를 담당하는 cmdlet입니다.-Path
: csv 파일이 저장될 경로입니다.
실시예 01
Get-Process
cmdlet을 사용하여 일부 데이터 개체를 반환하고 Export-CSV
cmdlet에 제공하여 CSV 형식으로 내보낼 수 있습니다.
Get-Process
출력:
Handles NPM(k) PM(K) WS(K) CPU(s) Id SI ProcessName
313 14 3712 10756 7.69 39500 0 ApplicationFrameHost
507 30 22864 22836 2.11 18156 2 armsvc
여러 프로세스 개체가 반환될 수 있습니다. 파이프 (|)
연산자를 사용하여 반환된 개체를 Export-CSV
cmdlet에 공급할 수 있습니다. 그런 다음 Get-Content
cmdlet을 사용하여 내보낸 CSV 콘텐츠를 확인할 수 있습니다.
Get-Process | Export-CSV -Path .\ProcessObjects.csv
Get-Content -Path .\ProcessObjects.csv
출력:
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...
Export-CSV
cmdlet의 기본 동작을 변경하는 데 사용할 수 있는 유용한 속성은 거의 없습니다.
실시예 02
Get-Process | Export-CSV -Path .\ProcessObjects.csv -Delimiter ';'
Get-Content -Path .\ProcessObjects.csv
출력:
"ProcessName";"SI";"Handles";"VM";"WS";"PM";"NPM"; .....
"armsvc";"2";"511";"2203597099008";"35364864";"21979136";"30048"; ...
-Delimiter
옵션은 구분 기호를 기본값 ,
에서 지정된 기호로 변경합니다.
ConvertTo-CSV
PowerShell Cmdlet을 사용하여 데이터를 CSV로 내보내기
ConvertTo-CSV
cmdlet은 위에서 설명한 Export-CSV
cmdlet과 거의 유사합니다. 둘 사이의 유일한 차이점은 Export-csv
cmdlet은 CSV 문자열을 파일에 저장하지만 ConvertTo-CSV
의 경우는 그렇지 않습니다. 쉼표로 구분된 값 문자열만 반환합니다.
ConvertTo-CSV
Cmdlet 구문
<data_objects/content> | ConvertTo-CSV
<data_objects/content>
:ConvertTo-CSV
cmdlet에 공급되는 데이터 개체/콘텐츠입니다.ConvertTo-CSV
: CSV 문자열 반환을 담당하는 cmdlet입니다.
예시
Get-Process | ConvertTo-Csv
출력:
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...p
따라서 Export-CSV
및 ConvertTo-CSV
cmdlet은 PowerShell을 사용하여 CSV 형식 데이터를 생성하는 데 유용한 도구입니다.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.