[Golang] csv 파일 읽고 쓰는 법
Go에서 CSV 파일
을 읽고 쓰려면 기본 제공 'encoding/csv' 패키지를 사용할 수 있습니다.
csv 파일 읽기
다음은 CSV 파일을 읽는 방법의 예입니다.
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
// Open the CSV file
file, err := os.Open("data.csv")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close()
// Create a new CSV reader
reader := csv.NewReader(file)
// Read all of the records
records, err := reader.ReadAll()
if err != nil {
fmt.Println("Error reading records:", err)
return
}
// Loop over the records and print them
for _, record := range records {
fmt.Println(record)
}
}
csv 파일 쓰기
다음은 CSV 파일을 작성하는 방법의 예입니다.
package main
import (
"encoding/csv"
"os"
)
func main() {
// Open the CSV file for writing
file, err := os.Create("data.csv")
if err != nil {
fmt.Println("Error creating file:", err)
return
}
defer file.Close()
// Create a new CSV writer
writer := csv.NewWriter(file)
// Write the records
records := [][]string{
{"first_name", "last_name", "username"},
{"Rob", "Pike", "rob"},
{"Ken", "Thompson", "ken"},
{"Robert", "Griesemer", "gri"},
}
for _, record := range records {
if err := writer.Write(record); err != nil {
fmt.Println("Error writing record:", err)
return
}
}
// Flush the writer to ensure all data is written
writer.Flush()
}
구분 문자, 따옴표 문자 및 출력 파일에 헤더 행을 포함할지 여부와 같은 다양한 옵션을 지정하여 CSV 판독기 및 작성기의 동작을 사용자 정의할 수 있습니다. 자세한 내용은 encoding/csv 패키지의 공식 문서를 확인하세요
'Golang' 카테고리의 다른 글
[Golang] 환경변수 설정하고 가져오기 (0) | 2023.02.15 |
---|---|
[Golang] 이미지 파일 읽고 쓰기 (0) | 2023.02.13 |
[Golang] 파일 실행 권한 설정 (0) | 2023.02.11 |
[Golang] JSON 파싱하는 법 (0) | 2023.02.11 |
[Golang] http request 보내는 법 (0) | 2023.02.11 |
댓글