[go] CSV 파일의 특정 행 처리
CSV 파일을 읽고 특정 행을 처리해야 하는 경우가 있습니다. 이를 위해 Go 언어에서는 내장된 encoding/csv
패키지를 사용하여 CSV 파일의 데이터를 효과적으로 처리할 수 있습니다.
이 블로그 포스트에서는 Go 언어를 사용하여 CSV 파일의 특정 행을 처리하는 방법에 대해 알아보겠습니다.
목차
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 언어 공식 문서: encoding/csv 패키지
이제 Go 언어를 사용하여 CSV 파일의 특정 행을 처리하는 방법을 알게 되었습니다. 이를 응용하여 실제 프로젝트에서 유용하게 활용해보시기 바랍니다.