PowerShell에서 CSV 파일을 배열로 가져오는 방법
- 쉼표로 구분된 값 파일
-
PowerShell에서 CSV 파일을 배열로 가져오기 위해
Import-CSV
Cmdlet 사용 -
PowerShell에서 CSV 파일을 배열로 가져오기 위해
Get-Content
및ConvertFrom-Csv
Cmdlet 사용 -
PowerShell에서 CSV 파일을 배열로 가져오기 위해
System.IO.File
및ConvertFrom-Csv
Cmdlet 사용 - 결론

CSV (Comma-Separated Values) 파일은 정보를 쉼표로 구분된 필드를 가진 표 형식으로 캡슐화하는 기본 데이터 형식 역할을 합니다. 일반적으로 스프레드시트 소프트웨어와 관련이 있지만, 그 단순하면서도 다용도적인 특성은 PowerShell을 포함한 다양한 플랫폼에서 활용됩니다.
PowerShell 스크립팅에서 CSV 데이터를 효율적으로 읽고 처리하는 것은 자동화 및 데이터 조작 작업에 매우 중요합니다. 이 기사에서는 CSV 파일을 배열로 가져오는 세 가지 방법—Import-CSV
, Get-Content
cmdlet 및 ConvertFrom-Csv
cmdlet을 사용하는 System.IO.File
클래스를 탐구하며, 이들의 사용법, 장점 및 적용 시나리오에 대한 통찰을 제공합니다.
쉼표로 구분된 값 파일
CSV (Comma-Separated Values) 파일은 쉼표로 구분된 데이터 또는 세트를 포함합니다. 이를 통해 데이터가 표 형식으로 저장됩니다.
사용자는 Microsoft Excel이나 Google 스프레드시트와 같은 대부분의 스프레드시트 프로그램에서 CSV 파일을 사용할 수 있습니다. 그러나 표 형식을 지원하지 않는 소프트웨어에서 열면 데이터가 쉼표로 구분되어 PowerShell이 이를 배열로 분리하는 데 사용할 수 있습니다.
예를 들어, 아래는 두 개의 열이 있는 원시 CSV 형식입니다.
users.csv
파일:
Name,Salary
John,1000
Paul,2000
Mary,1500
Matt,3000
PowerShell에서 CSV 파일을 배열로 가져오기 위해 Import-CSV
Cmdlet 사용
Windows PowerShell의 Import-CSV
명령은 위의 CSV 파일에 나타난 항목으로부터 테이블 같은 사용자 지정 개체를 생성합니다.
아래 Windows PowerShell 스크립트에서는 Import-CSV
명령을 사용하여 CSV 파일 데이터를 Windows PowerShell 배열형 변수에 할당합니다.
$users = Import-Csv path\users.csv
$users
path\users.csv
에 위치한 CSV 파일에서 데이터를 읽기 위해 Import-Csv
cmdlet을 사용하여 시작합니다. 이 cmdlet은 CSV 파일의 내용을 읽고 이를 PowerShell 개체로 변환합니다.
그런 다음 가져온 CSV 데이터를 변수 $users
에 할당합니다. 이 변수는 이제 CSV 파일의 내용을 개체 배열로 보유하며, 각 개체는 CSV 파일의 행을 나타냅니다.
실행되면 CSV 파일 값이 ArrayList
개체라고 하는 형식 목록으로 변환된 것을 볼 수 있습니다.
출력:
PowerShell에서 CSV 파일을 배열로 가져온 후 요소에 접근하기
PowerShell에서 Import-Csv
를 사용하여 CSV 파일을 가져오면 CSV 파일의 각 행이 개체로 표현되며 전체 CSV 데이터는 이러한 개체의 배열로 저장됩니다. CSV 데이터 내에서 개별 행이나 요소에 접근하기 위해 배열 인덱싱을 사용합니다.
$users = Import-Csv path\users.csv
$users[0]
지정된 경로에 위치한 users.csv
라는 CSV 파일을 가져오는 것으로 시작합니다. 이를 위해 Import-Csv
cmdlet을 사용합니다.
이 cmdlet은 CSV 파일의 내용을 읽고 이를 PowerShell 개체로 변환합니다.
CSV 파일을 가져온 후에는 CSV 데이터의 첫 번째 행에 접근하고자 합니다. 이를 배열 인덱싱을 사용하여 달성합니다.
PowerShell에서 배열 인덱싱은 0에서 시작하므로, $users[0]
는 $users
배열의 첫 번째 요소(또는 행)를 참조합니다.
출력:
특정 요소의 속성을 쿼리하여 Windows PowerShell 배열에서 속성을 취득할 수 있으며, 열 이름을 속성 이름으로처럼 아래의 예제와 같이 처리합니다.
$users = Import-Csv path/users.csv
$users[0].Name
CSV 파일을 가져오고 그 내용을 $users
변수에 저장한 후, CSV 데이터의 첫 번째 행에서 특정 속성에 접근합니다. 이 경우, 첫 번째 행의 Name
속性 값을 검색하고자 합니다.
$users[0].Name
을 지정함으로써, 우리는 CSV 데이터의 첫 번째 행을 나타내는 개체의 Name
속성에 접근하고 있습니다. 이를 통해 첫 번째 행의 CSV 파일에서 Name
열과 관련된 값을 검색할 수 있습니다.
출력:
배열에 있는 요소의 개수를 아래의 Count
속성을 사용하여 셀 수 있습니다.
$users = Import-Csv path/users.csv
$users.Count
CSV 파일을 가져오고 그 내용을 $users
변수에 저장한 후, 배열의 항목(행) 수를 확인하고자 합니다.
$users.Count
를 사용하여 $users
변수에 저장된 배열의 Count
속성에 접근하고 있습니다. 이 속성은 배열의 항목(행) 수를 반환합니다.
출력:
PowerShell에서 CSV 파일을 배열로 가져오기 위해 Get-Content
및 ConvertFrom-Csv
Cmdlet 사용
이 작업을 수행하는 한 가지 간단한 방법은 Get-Content
및 ConvertFrom-Csv
cmdlet을 사용하는 것입니다. 이 방법은 Get-Content
를 사용하여 CSV 파일의 내용을 텍스트로 읽고, 그런 다음 ConvertFrom-Csv
를 사용하여 PowerShell 개체로 변환하여 각 행을 나타내는 개체 배열을 생성할 수 있습니다.
$content = Get-Content -Path "C:\path\data.csv"
$array = $content | ConvertFrom-Csv
$array
지정된 경로에 있는 CSV 파일의 내용을 읽기 위해 Get-Content
를 사용하여 $content
변수에 저장합니다.
그 다음, $content
에 저장된 CSV 파일의 내용을 ConvertFrom-Csv
로 파이프합니다. 이 cmdlet은 CSV 텍스트를 PowerShell 개체로 변환하고 이를 $array
변수에 저장합니다.
실행되면 CSV 파일 값이 ArrayList
개체라는 형식 목록으로 변환된 것을 볼 수 있습니다.
출력:
PowerShell에서 CSV 파일을 배열로 가져오기 위해 System.IO.File
및 ConvertFrom-Csv
Cmdlet 사용
System.IO.File
클래스는 CSV 파일 내용을 읽을 수 있게 하며, 이를 ConvertFrom-Csv
cmdlet을 사용하여 PowerShell 개체로 변환합니다. 이 방법은 유연성을 제공할 뿐만 아니라 사용의 용이성을 보장하며, 사용자가 PowerShell 스크립트 내에서 CSV 데이터를 원활하게 관리할 수 있도록 합니다.
$content = [System.IO.File]::ReadAllText("C:\path\data.csv")
$array = $content | ConvertFrom-Csv
$array
지정된 경로에 위치한 CSV 파일의 내용을 읽기 위해 [System.IO.File]::ReadAllText
를 사용하고, 이를 $content
변수에 저장합니다.
그 다음, $content
에 저장된 CSV 파일의 내용을 ConvertFrom-Csv
로 파이프합니다. 이 cmdlet은 CSV 텍스트를 PowerShell 개체로 변환하고 이를 $array
변수에 저장합니다.
실행되면 CSV 파일 값이 ArrayList
개체라고 하는 형식 목록으로 변환된 것을 볼 수 있습니다.
출력:
결론
PowerShell 스크립팅에서 CSV 데이터를 원활하게 처리하는 것은 효과적인 자동화 및 데이터 처리에 매우 중요합니다. Import-CSV
, Get-Content
cmdlet 또는 ConvertFrom-Csv
cmdlet을 사용하는 System.IO.File
클래스를 활용함으로써 사용자는 CSV 파일을 배열로 효율적으로 읽고 데이터를 쉽게 조작할 수 있는 능력을 갖출 수 있습니다.
대규모 데이터 세트에서 통찰을 추출하거나 반복적인 작업을 자동화하는 등의 작업을 수행할 때, 이러한 방법은 PowerShell 개발자에게 강력한 도구를 제공합니다. 이러한 기술들을 명확히 이해함으로써 사용자는 스크립트 내에서 CSV 데이터의 힘을 활용하고, 작업 흐름을 간소화하며 생산성을 향상시킬 수 있습니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn관련 문장 - PowerShell Array
- PowerShell 다차원 배열
- PowerShell 배열에서 중복 값을 제거하는 방법
- PowerShell에서 객체 배열에 객체를 추가하는 방법
- PowerShell에서 배열 객체를 문자열로 변환하는 방법
- PowerShell 배열에 항목 추가하는 방법