[go] CSV 파일의 레코드 처리
고(Go) 언어는 csv 라이브러리를 이용하여 CSV 파일의 레코드를 처리하는 데 쉽고 효율적인 방법을 제공합니다. 이 블로그 포스트에서는 고를 사용하여 CSV 파일을 읽고 쓰는 방법에 대해 알아보겠습니다.
CSV 파일 읽기
csv
라이브러리를 사용하여 CSV 파일에서 레코드를 읽는 예제 코드는 다음과 같습니다.
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
file, err := os.Open("data.csv")
if err != nil {
panic(err)
}
defer file.Close()
reader := csv.NewReader(file)
records, err := reader.ReadAll()
if err != nil {
panic(err)
}
for _, row := range records {
fmt.Println(row)
}
}
위 코드는 data.csv
파일을 열고 각 레코드를 읽어서 표준 출력에 출력하는 간단한 예제입니다.
CSV 파일 쓰기
CSV 파일에 레코드를 쓰는 방법은 다음과 같습니다.
package main
import (
"encoding/csv"
"os"
)
func main() {
records := [][]string{
{"Name", "Age", "City"},
{"Alice", "30", "New York"},
{"Bob", "25", "Los Angeles"},
{"Carol", "35", "Chicago"},
}
file, err := os.Create("output.csv")
if err != nil {
panic(err)
}
defer file.Close()
writer := csv.NewWriter(file)
defer writer.Flush()
for _, record := range records {
err := writer.Write(record)
if err != nil {
panic(err)
}
}
}
위 코드는 output.csv
파일에 레코드를 쓰는 예제입니다.
고의 csv 라이브러리를 사용하면 CSV 파일의 레코드를 쉽게 읽고 쓸 수 있으며, 이를 통해 데이터 처리 작업을 효율적으로 수행할 수 있습니다.
참고 문헌:
- https://golang.org/pkg/encoding/csv/
- https://www.alexedwards.net/blog/reading-and-writing-csv-files-in-go