ConvertFrom-Csv
CSV(쉼표로 구분된 값) 형식의 개체 속성을 원래 개체의 CSV 버전으로 변환합니다.
구문
Delimiter (기본값)
ConvertFrom-Csv
[-InputObject] <psobject[]>
[[-Delimiter] <char>]
[-Header <string[]>]
[<CommonParameters>]
UseCulture
ConvertFrom-Csv
[-InputObject] <psobject[]>
-UseCulture
[-Header <string[]>]
[<CommonParameters>]
Description
cmdlet은 ConvertFrom-Csv cmdlet에 의해 생성된 CSV 가변 길이 문자열에서 ConvertTo-Csv 개체를 만듭니다.
이 cmdlet의 매개 변수를 사용하여 결과 개체의 속성 이름을 결정하는 열 머리글 행을 지정하거나, 항목 구분 기호를 지정하거나, 현재 문화권의 목록 구분 기호를 구분 기호로 사용하도록 이 cmdlet에 지시할 수 있습니다.
생성되는 개체는 ConvertFrom-Csv 원래 개체의 CSV 버전입니다. CSV 개체의 속성 값은 원래 개체의 속성 값에 대한 문자열 버전입니다. 개체의 CSV 버전에는 메서드가 없습니다.
또한 and Export-Csv cmdlet을 Import-Csv 사용하여 개체를 파일의 CSV 문자열로 변환하거나 그 반대로 변환할 수 있습니다. 이러한 cmdlet은 CSV 문자열을 파일에 저장한다는 점을 제외하고 ConvertTo-Csv 및 ConvertFrom-Csv cmdlet과 동일합니다.
예제
예제 1: 로컬 컴퓨터의 프로세스를 CSV 형식으로 변환
이 예제에서는 로컬 컴퓨터의 프로세스를 CSV 형식으로 변환한 다음 개체 형식으로 복원하는 방법을 보여 줍니다.
$P = Get-Process | ConvertTo-Csv
$P | ConvertFrom-Csv
Get-Process cmdlet은 ConvertTo-Csv위해 파이프라인 아래로 프로세스를 보냅니다.
ConvertTo-Csv cmdlet은 프로세스 개체를 일련의 CSV 문자열로 변환합니다.
ConvertFrom-Csv cmdlet은 CSV 문자열을 원래 프로세스 개체의 CSV 버전으로 변환합니다. CSV 문자열은 $P 변수에 저장됩니다.
예제 2: 데이터 개체를 CSV 형식으로 변환한 다음 CSV 개체 형식으로 변환
이 예제에서는 데이터 개체를 CSV 형식으로 변환한 다음 CSV 개체 형식으로 변환하는 방법을 보여 줍니다.
$Date = Get-Date | ConvertTo-Csv -Delimiter ';'
ConvertFrom-Csv -InputObject $Date -Delimiter ';'
첫 번째 명령은 Get-Date 사용하여 파이프라인의 현재 날짜와 시간을 ConvertTo-Csv.
ConvertTo-Csv cmdlet은 날짜 개체를 일련의 CSV 문자열로 변환합니다.
구분 기호 매개 변수는 세미콜론 구분 기호를 지정하는 데 사용됩니다. 문자열은 $Date 변수에 저장됩니다.
예제 3: 헤더 매개 변수를 사용하여 속성 이름 변경
이 예제에서는 ConvertFrom-Csv 매개 변수를 사용하여 가져온 개체의 속성 이름을 변경하는 방법을 보여줍니다.
$J = Start-Job -ScriptBlock { Get-Process } | ConvertTo-Csv -NoTypeInformation
$Header = 'State', 'MoreData', 'StatusMessage', 'Location', 'Command', 'StateInfo', 'Finished', 'InstanceId', 'Id', 'Name', 'ChildJobs', 'BeginTime', 'EndTime', 'JobType', 'Output', 'Error', 'Progress', 'Verbose', 'Debug', 'Warning', 'Information'
# Delete the default header from $J
$J = $J[1..($J.count - 1)]
$J | ConvertFrom-Csv -Header $Header
State : Running
MoreData : True
StatusMessage :
Location : localhost
Command : Get-Process
StateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : a259eb63-6824-4b97-a033-305108ae1c2e
Id : 1
Name : Job1
ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job]
BeginTime : 12/20/2018 18:59:57
EndTime :
JobType : BackgroundJob
Output : System.Management.Automation.PSDataCollection`1[System.Management.Automation.PSObject]
Error : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ErrorRecord]
Progress : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ProgressRecord]
Verbose : System.Management.Automation.PSDataCollection`1[System.Management.Automation.VerboseRecord]
Debug : System.Management.Automation.PSDataCollection`1[System.Management.Automation.DebugRecord]
Warning : System.Management.Automation.PSDataCollection`1[System.Management.Automation.WarningRecord]
Information : System.Management.Automation.PSDataCollection`1[System.Management.Automation.InformationRecord]
Start-Job cmdlet은 Get-Process을 실행하는 백그라운드 작업을 시작합니다. 작업 개체가 파이프라인 아래로 전송되어 ConvertTo-Csv CSV 문자열로 변환됩니다.
NoTypeInformation 매개 변수는 CSV 출력에서 형식 정보 헤더를 제거하며 PowerShell Core에서 선택 사항입니다.
$Header 변수에는 다음 기본 값을 대체하는 사용자 지정 헤더가 포함되어 있습니다: HasMoreData, JobStateInfo, PSBeginTime, PSEndTime및 PSJobTypeName.
$J 변수는 CSV 문자열을 포함하며 기본 헤더를 제거하는 데 사용됩니다.
ConvertFrom-Csv cmdlet은 CSV 문자열을 PSCustomObject 변환하고 Header 매개 변수를 사용하여 $Header 변수를 적용합니다.
예제 4: 서비스 개체의 CSV 문자열 변환
이 예제에서는 ConvertFrom-Csv 매개 변수와 함께 cmdlet을 사용하는 방법을 보여줍니다.
(Get-Culture).TextInfo.ListSeparator
$Services = (Get-Service | ConvertTo-Csv)
ConvertFrom-Csv -InputObject $Services -UseCulture
Get-Service cmdlet은 ConvertTo-Csv위해 파이프라인 아래로 서비스 개체를 보냅니다.
ConvertTo-Csv 서비스 개체를 일련의 CSV 문자열로 변환합니다. CSV 문자열은 $Services 변수에 저장됩니다.
ConvertFrom-Csv cmdlet은 InputObject 매개 변수를 사용하고 $Services 변수에서 CSV 문자열을 변환합니다.
UseCulture 매개 변수는 현재 문화권의 기본 목록 구분 기호를 사용합니다.
UseCulture 매개 변수를 사용하는 경우 현재 문화권의 기본 목록 구분 기호가 CSV 문자열에 사용되는 구분 기호와 일치하는지 확인합니다. 그렇지 않으면 ConvertFrom-Csv CSV 문자열에서 개체를 생성할 수 없습니다.
매개 변수
-Delimiter
CSV 문자열의 속성 값을 구분하는 구분 기호를 지정합니다. 기본값은 쉼표(,)입니다.
콜론(:)과 같은 문자를 입력합니다. 세미콜론(;)을 지정하려면 작은따옴표로 묶습니다.
파일에서 ConvertFrom-Csv 실제 문자열 구분 기호가 아닌 다른 문자를 지정하면 CSV 문자열에서 개체를 만들 수 없으며 CSV 문자열이 반환됩니다.
매개 변수 속성
| 형식: | Char |
| Default value: | comma (,) |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
Delimiter
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Header
가져온 문자열의 대체 열 머리글 행을 지정합니다. 열 머리글은 ConvertFrom-Csv에 의해 생성된 개체의 속성 이름을 결정합니다.
열 머리글을 쉼표로 구분된 목록으로 입력합니다. 머리글 문자열을 따옴표로 묶지 마십시오. 각 열 머리글을 작은따옴표로 묶습니다.
데이터 열보다 적은 열 머리글을 입력하면 나머지 데이터 열이 삭제됩니다. 데이터 열보다 더 많은 열 머리글을 입력하면 추가 열 머리글이 빈 데이터 열로 만들어집니다.
Header 매개 변수를 사용하는 경우 CSV 문자열에서 열 머리글 문자열을 생략합니다. 그렇지 않으면 이 cmdlet은 머리글 행의 항목에서 추가 개체를 만듭니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputObject
개체로 변환할 CSV 문자열을 지정합니다. CSV 문자열이 포함된 변수를 입력하거나 CSV 문자열을 가져오는 명령이나 식을 입력합니다. CSV 문자열을 ConvertFrom-Csv파이프할 수도 있습니다.
매개 변수 속성
| 형식: | PSObject[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-UseCulture
현재 문화권의 목록 구분 기호를 항목 구분 기호로 사용합니다. 문화권의 목록 구분 기호를 찾으려면 다음 명령을 사용합니다. (Get-Culture).TextInfo.ListSeparator.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
UseCulture
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
String
CSV 문자열을 이 cmdlet에 파이프할 수 있습니다.
출력
PSObject
이 cmdlet은 CSV 문자열의 속성에 설명된 개체를 반환합니다.
참고
가져온 개체는 개체 형식의 CSV 버전이기 때문에 CSV가 아닌 개체 형식의 형식을 지정하는 PowerShell 형식 지정 항목에 의해 인식되고 형식이 지정되지 않습니다.
CSV 형식에서 각 개체는 개체의 속성 값에 대한 쉼표로 구분된 목록으로 표시됩니다. 속성 값은 객체의 ToString() 메서드를 사용하여 문자열로 변환되므로 속성 값의 이름으로 표시됩니다. 이 cmdlet은 개체의 메서드를 내보내지 않습니다.