이 름 : 바다아이
|
조회수 : 9114
짧은 주소 : https://www.bada-ie.com/su/?631591779184
1. CSV 파일 읽기
Go에서 CSV(Comma Separated Values) 파일을 처리하기 위해 "encoding/csv" 패키지를 사용한다.
csv 패키지는 CSV 파일을 읽거나 쓰는 기능을 제공한다.
CSV 파일을 읽기 위해선 먼저 csv.NewReader() 를 실행하여 csv 파일 포맷을 읽을 수 있는 Reader를 생성하고,
이 리더로부터 Read() 혹은 ReadAll() 메서드를 호출하여 데이타를 읽어들인다. Read()는 한 라인을 읽어 들이고,
ReadAll()은 전체를 한꺼번에 읽어들인다.
아래 예제는 test.csv 파일을 ReadAll()을 사용하여 모두 읽어 들여 [][]string 슬라이스에 넣은 후, for 루프를 사용하여
각 Cell의 내용을 출력하는 코드이다.
package main
import (
"bufio""encoding/csv""fmt""os"
)
funcmain() {
// 파일 오픈
file, _ := os.Open("./test.csv")
// csv reader 생성
rdr := csv.NewReader(bufio.NewReader(file))
// csv 내용 모두 읽기
rows, _ := rdr.ReadAll()
// 행,열 읽기for i, row := range rows {
for j := range row {
fmt.Printf("%s ", rows[i][j])
}
fmt.Println()
}
}
2. CSV 파일 쓰기
CSV 파일을 쓰기 위해서는 csv.NewWriter() 를 실행하여 CSV 포맷으로 쓸 수 있는 Writer를 생성하고,
이 Writer로부터 Write() 혹은 WriteAll() 메서드를 호출하여 데이타를 쓰게된다. Write()는 하나의 레코드를 쓰고,
WriteAll()은 전체 레코드를 한꺼번에 쓰고 Flush를 호출한다.
package main
import (
"bufio""encoding/csv""os"
)
funcmain() {
// 파일 생성
file, err := os.Create("./output.csv")
if err != nil {
panic(err)
}
// csv writer 생성
wr := csv.NewWriter(bufio.NewWriter(file))
// csv 내용 쓰기
wr.Write([]string{"A", "0.25"})
wr.Write([]string{"B", "55.70"})
wr.Flush()
}
출처 : http://golang.site/go/article/117-CSV-%ED%8C%8C%EC%9D%BC-%EC%9D%BD%EA%B3%A0-%EC%93%B0%EA%B8%B0
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.06376 초 to webmaster... gogo sea. gogo sea.