[go] CSV 파일의 데이터 합계 계산
CSV(Comma-Separated Values) 파일은 데이터를 저장하고 전송하는 데 널리 사용되는 형식입니다. 이 파일 형식을 사용하여 데이터를 읽고 쓰는 방법에 대해 알아보겠습니다.
1. CSV 파일 읽기
우선 Go에서 CSV 파일을 읽기 위해 encoding/csv
패키지를 사용합니다. 다음 예제는 test.csv
파일을 읽고 데이터를 출력하는 방법을 보여줍니다.
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
// CSV 파일 오픈
file, err := os.Open("test.csv")
if err != nil {
fmt.Println("Error:", err)
return
}
defer file.Close()
// CSV 파일 읽기
reader := csv.NewReader(file)
records, err := reader.ReadAll()
if err != nil {
fmt.Println("Error:", err)
return
}
// 데이터 출력
for _, row := range records {
fmt.Println(row)
}
}
2. 데이터 합계 계산
CSV 파일에서 숫자 데이터를 합계로 계산하기 위해서는 각 행의 데이터를 분석하여 숫자로 변환한 후 합계를 계산해야 합니다. 다음은 CSV 파일에서 첫 번째 열의 숫자 데이터를 합계로 계산하는 예제입니다.
package main
import (
"encoding/csv"
"fmt"
"os"
"strconv"
)
func main() {
// CSV 파일 오픈
file, err := os.Open("test.csv")
if err != nil {
fmt.Println("Error:", err)
return
}
defer file.Close()
// CSV 파일 읽기
reader := csv.NewReader(file)
records, err := reader.ReadAll()
if err != nil {
fmt.Println("Error:", err)
return
}
// 데이터 합계 계산
sum := 0
for _, row := range records {
num, err := strconv.Atoi(row[0])
if err != nil {
fmt.Println("Invalid number:", row[0])
continue
}
sum += num
}
fmt.Println("합계:", sum)
}
결론
Go 언어를 사용하여 CSV 파일에서 데이터를 읽고 합계를 계산하는 방법을 살펴보았습니다. encoding/csv
패키지와 숫자 변환 기능을 활용하여 데이터 처리를 손쉽게 할 수 있습니다. 이를 참고하여 자신만의 데이터 처리 로직을 구현해보세요!
이상입니다. 부가적인 도움이 필요하시면 말씀해주세요.