[go] CSV 파일의 특정 행 처리

CSV 파일을 읽고 특정 행을 처리해야 하는 경우가 있습니다. 이를 위해 Go 언어에서는 내장된 encoding/csv 패키지를 사용하여 CSV 파일의 데이터를 효과적으로 처리할 수 있습니다.

이 블로그 포스트에서는 Go 언어를 사용하여 CSV 파일의 특정 행을 처리하는 방법에 대해 알아보겠습니다.

목차

  1. CSV 파일 읽기
  2. 특정 행 처리
  3. 예제 코드
  4. 참고 자료

CSV 파일 읽기

먼저, CSV 파일을 읽기 위해 Go의 encoding/csv 패키지를 사용합니다. 이 패키지는 CSV 파일을 파싱하고 데이터를 슬라이스로 반환하는 기능을 제공합니다.

package main

import (
	"encoding/csv"
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("data.csv")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer file.Close()

	reader := csv.NewReader(file)
	records, err := reader.ReadAll()
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	fmt.Println(records)
}

위의 예제 코드는 data.csv 파일을 읽고 그 내용을 출력하는 간단한 예제입니다.

특정 행 처리

특정 행을 처리하려면 원하는 행의 인덱스를 사용하여 슬라이스에서 해당 행을 선택할 수 있습니다. 예를 들어, 2번 인덱스의 행을 선택하려면 다음과 같이 하십시오.

row := records[2]
fmt.Println(row)

위 코드에서 records는 CSV 파일의 모든 행을 포함하는 슬라이스입니다. 따라서 records[2]는 CSV 파일에서 2번째 행에 해당하는 데이터를 가리킵니다.

예제 코드

아래는 특정 CSV 파일에서 특정 행을 처리하는 예제 코드입니다.

package main

import (
	"encoding/csv"
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("data.csv")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer file.Close()

	reader := csv.NewReader(file)
	records, err := reader.ReadAll()
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	row := records[2]
	fmt.Println(row)
}

참고 자료

이제 Go 언어를 사용하여 CSV 파일의 특정 행을 처리하는 방법을 알게 되었습니다. 이를 응용하여 실제 프로젝트에서 유용하게 활용해보시기 바랍니다.