[go] CSV 파일의 데이터 필터링
CSV 파일에서 데이터를 필터링하려면 Go 언어에서 내장된 encoding/csv
패키지를 활용하여 간단하게 수행할 수 있습니다. 이 블로그 포스트에서는 Go 언어를 사용하여 CSV 파일에서 데이터를 필터링하는 방법에 대해 알아보겠습니다.
1. CSV 파일 읽기
우선, CSV 파일에서 데이터를 읽어오는 방법에 대해 알아보겠습니다. 다음과 같이 os
및 encoding/csv
패키지를 임포트하여 CSV 파일을 열고 데이터를 읽어올 수 있습니다.
package main
import (
"encoding/csv"
"os"
"log"
)
func main() {
// CSV 파일 열기
file, err := os.Open("data.csv")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// CSV 파일 파싱
reader := csv.NewReader(file)
records, err := reader.ReadAll()
if err != nil {
log.Fatal(err)
}
// 읽은 데이터 출력
for _, row := range records {
fmt.Println(row)
}
}
2. 데이터 필터링
CSV 파일에서 특정 조건을 만족하는 데이터만을 필터링하는 방법은 다양합니다. 예를 들어, 특정 열의 값을 기준으로 데이터를 필터링하거나, 조건에 따라 데이터를 선택적으로 추출할 수 있습니다.
// 열의 값을 기준으로 필터링하기
var filteredRecords [][]string
for _, row := range records {
if row[2] == "criteria" {
filteredRecords = append(filteredRecords, row)
}
}
위의 예제에서는 세 번째 열의 값이 “criteria”와 같은 경우에 해당하는 데이터만을 filteredRecords
에 추가하는 방법을 보여줍니다.
3. 결과 출력
마지막으로, 필터링된 결과를 화면에 출력하거나 다른 파일에 쓰는 등의 작업을 수행할 수 있습니다.
// 결과 출력
for _, row := range filteredRecords {
fmt.Println(row)
}
요약
이제 CSV 파일에서 데이터를 읽어오고 필터링하는 방법에 대해 알아보았습니다. encoding/csv
패키지를 활용하여 데이터를 쉽게 파싱하고 조작할 수 있으며, 이를 통해 다양한 데이터 처리 작업을 수행할 수 있습니다.
내용에 대한 추가적인 질문이 있으시다면, 언제든지 문의해 주세요.
Go 공식 문서에서 encoding/csv
패키지에 대한 자세한 정보를 확인할 수 있습니다.