[go] CSV 파일의 특수 문자 처리
CSV 파일에서 데이터를 처리할 때 특수 문자가 포함되어 있는 경우가 있습니다. 특히, 쉼표, 따옴표, 개행 문자 등이 데이터에 포함되어 있으면 혼란을 야기할 수 있습니다. 이 문제를 해결하기 위해 Go 언어에서 CSV 파일을 다룰 때 특수 문자를 처리하는 방법에 대해 알아보겠습니다.
1. 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 {
fmt.Println(row)
}
}
위의 코드는 CSV 파일을 읽고 내용을 출력하는 간단한 예제입니다.
2. 특수 문자 처리
특수 문자를 처리하기 위해서는 csv.Reader
의 Comma
, Quote
, LazyQuotes
등의 속성을 설정할 수 있습니다.
reader.Comma = '\t' // 탭 문자로 구분
reader.Quote = '\'' // 작은 따옴표 사용
reader.LazyQuotes = true // 따옴표 처리를 느슨하게 함
특히, LazyQuotes
를 true
로 설정하면 따옴표 처리를 더 유연하게 할 수 있습니다.
3. 예외 처리
때로는 예상치 못한 형식의 데이터가 포함된 CSV 파일을 다뤄야 할 수도 있습니다. 이러한 경우에는 예외 처리를 통해 오류를 방지하고 적절히 대응할 수 있어야 합니다.
if len(row) != 3 {
fmt.Println("Invalid row:", row)
continue
}
위의 코드는 각 행의 데이터 길이를 확인하여 예외 상황을 처리하는 예제입니다.
4. 결론
Go 언어의 csv 라이브러리를 이용하면 다양한 형식의 CSV 파일을 다룰 수 있으며, 특수 문자를 포함한 데이터도 안전하게 처리할 수 있습니다. 이를 통해 데이터 분석 및 가공을 보다 효율적으로 수행할 수 있습니다.
참고 자료
CSV 파일 다루기에 대한 추가적인 정보는 공식 Go 언어 문서를 참고하시기 바랍니다.