[go] Go 언어에서 CSV 파일 다루기

Go 언어는 CSV 파일을 다루는 데 매우 유용한 기능들을 제공합니다. 이 포스트에서는 Go 언어로 CSV 파일을 읽고 쓰는 방법을 설명하고 관련된 예제 코드를 제공할 것입니다.

CSV 파일 읽기

Go에서 CSV 파일을 읽으려면 encoding/csv 패키지를 사용합니다. 먼저 파일을 열고 csv.NewReader를 사용하여 CSV 리더를 만든 다음, Read 메서드를 사용하여 파일에서 데이터를 읽습니다.

다음은 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
	}

	for _, row := range records {
		for _, col := range row {
			fmt.Print(col, " ")
		}
		fmt.Println()
	}
}

CSV 파일 쓰기

Go에서 CSV 파일을 쓰려면 encoding/csv 패키지를 사용합니다. csv.NewWriter를 사용하여 CSV 작성기를 만든 다음, Write 메서드를 사용하여 데이터를 파일에 씁니다.

다음은 CSV 파일을 쓰는 예제 코드입니다.

package main

import (
	"encoding/csv"
	"os"
)

func main() {
	file, err := os.Create("data.csv")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	writer := csv.NewWriter(file)
	defer writer.Flush()

	records := [][]string{
		{"Name", "Age", "City"},
		{"Alice", "25", "New York"},
		{"Bob", "30", "San Francisco"},
	}

	for _, record := range records {
		err := writer.Write(record)
		if err != nil {
			panic(err)
		}
	}
}

이제 Go 언어에서 CSV 파일을 읽고 쓰는 방법에 대해 간단히 알아보았습니다. 이러한 기능들을 사용하여 데이터 파일을 쉽게 처리할 수 있습니다.

더 자세한 내용은 Go 언어 공식 문서를 참고하세요.