PowerShell에서 CSV 파일 결합하는 방법

  1. CSV 형식
  2. PowerShell에서 .csv 파일 필터링
  3. PowerShell에서 각 .csv 파일 객체 가져오기
  4. PowerShell에서 CSV 파일 내용 병합
  5. PowerShell에서 병합된 내용을 텍스트 파일에 작성
PowerShell에서 CSV 파일 결합하는 방법

여러 CSV 파일을 병합하고 데이터를 텍스트 파일로 작성해야 할 필요가 있을 수 있습니다. 이 작업을 수행하는 데 Import-CsvExport-Csv cmdlet을 사용할 수 있습니다.

CSV 형식

다양한 목적에 사용할 수 있는 여러 종류의 파일 형식이 있습니다. CSV는 데이터를 저장하기 위해 간단한 구조를 사용합니다.

이 형식은 서로 다른 프로그램 간에 데이터를 교환하는 데 사용될 수 있습니다. 이름에서 알 수 있듯이 CSV(Comma-Separated Values)는 데이터가 쉼표로 구분되어 있다는 의미입니다.

CSV 파일에 저장된 정보는 다음과 같습니다.

 csvCopyUserName,Identifier,First Name,Last Name
jak12,1001,Harry,Smith
Rock90,1002,Jeremy,Hamilton
Rick23,1003,Rakesh,Donas
User01,1004,Lokie,Ferguson

구분자는 공백, 세미콜론 또는 다른 문자일 수 있습니다.

PowerShell을 사용하여 병합할 두 개의 csv 파일을 만들어 보겠습니다.

CSV 파일

username.csv 내용:

사용자 이름 CSV 파일

username2.csv 내용:

username2 CSV 파일

PowerShell에서 .csv 파일 필터링

지정된 위치에서 모든 .csv 파일 유형을 가져오기 위해 Get-ChildItem cmdlet을 사용하는 것이 좋습니다. .csv 확장자를 가진 파일을 필터링하기 위해 -Filter 매개변수를 전달할 수 있습니다.

.csv 파일의 폴더 경로는 귀하의 경우 다를 수 있습니다.

 powershellCopy$csvFilePath = "D:\csvfiles"
$csvFileList = Get-ChildItem $csvFilePath -Filter *.csv

$csvFileList에 있는 내용을 확인해 보겠습니다.

 powershellCopy$csvFileList

출력:

PowerShell에서 CSV 파일 필터링

PowerShell에서 각 .csv 파일 객체 가져오기

각 파일 객체의 전체 이름으로 검색해 보겠습니다. Select-Object cmdlet을 사용하여 각 객체를 확장된 속성과 함께 검색할 수 있습니다.

이전 단계의 출력을 Select-Object 명령에 파이프합니다.

 powershellCopy$csfFilesToImport = $csvFileList | Select-Object -ExpandProperty FullName

$csfFilesToImport 변수를 표시하면 두 개의 CSV 파일 객체가 전체 이름과 함께 표시되는 것을 볼 수 있습니다.

 powershellCopy$csfFilesToImport

출력:

PowerShell에서 각 CSV 파일 객체 가져오기

PowerShell에서 CSV 파일 내용 병합

모든 CSV 파일을 가져왔으므로 각 파일의 내용을 가져오겠습니다. 이는 공통 헤더 행으로 내용을 쉽게 병합할 수 있습니다.

파이프된 CSV 파일 내용에서 테이블과 유사한 객체를 구성하기 위해 Import-CSV를 사용할 수 있습니다.

 powershellCopy$importedCsvFiles = $csfFilesToImport | Import-Csv
$importedCsvFiles

출력:

PowerShell에서 CSV 파일의 내용을 병합하기

제공된 두 개의 CSV 파일에서 정보가 병합되었습니다.

PowerShell에서 병합된 내용을 텍스트 파일에 작성

위의 객체를 CSV 문자열로 변환하고 이를 텍스트 파일로 저장할 수 있습니다. Export-Csv cmdlet을 사용할 수 있습니다.

내용이 교체되지 않고 추가되도록 Append 매개변수를 사용해야 합니다.

 powershellCopy$importedCsvFiles | Export-Csv D:\merged.txt -NoTypeInformation -Append

출력:

이로 인해 merged.txt라는 새 텍스트 파일이 생성되어야 합니다. 해당 파일 내용은 위의 두 개의 CSV 파일에서 병합된 것입니다.

PowerShell에서 병합된 내용을 텍스트 파일에 쓰기

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

관련 문장 - PowerShell CSV