HOWTO · PowerShell

PowerShell에서 CSV로 데이터 내보내기

powershell에서 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 형식 데이터를 생성하는 데 유용한 도구입니다.