잠시만 기다려 주세요

     '책임지지 않는 윤석열 정부를 규탄한다. 입만 벌리면 거짓말.. 범죄 의혹 한트럭... 자신들의 범죄 의혹을 철저히 숨기는 윤석열 정부를 탄핵하자.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1056)  |  추천 및 재미 (151)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (600)  |  끄적거림 (129)  |  문예 창작 (705)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    golang

golang - 엑셀, csv 파일 읽고 쓰기
이 름 : 바다아이   |   조회수 : 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"
)
 
func main() {
    // 파일 오픈
    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"
)
 
func main() {
    // 파일 생성
    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
| |





      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
179 golang golang , ... 바다아이 1712
178 golang golang , map . 바다아이 1324
177 golang Golang (, , data ) , ... 바다아이 1328
176 golang golang sort ... 바다아이 1559
175 golang golang html.EscapeString html.UnescapeString input value ... 바다아이 1685
174 golang golang go.mod go.sum . GOPATH SRC not module, 1.16 . 바다아이 4957
173 golang go 1.16 ... is not in GOROOT.. GOPATH .... . 바다아이 5843
172 golang , String Formatting 바다아이 7491
171 golang rand.Intn , random, , . 바다아이 6950
170 golang golang ... 바다아이 10028
169 golang golang gopath, goroot .. golang 바다아이 7613
168 golang golang ... Force download file example 바다아이 9412
167 golang golang , , cpu, memory, disk 바다아이 10700
166 golang golang , ... GOOS, GOARCH 바다아이 8482
165 golang golang checkbox ... 바다아이 8228
164 golang golang , , http .... 바다아이 8007
163 golang golang nil , nil , nil ... 바다아이 8351
162 golang 2 golang, go , .... golang .... 바다아이 11214
161 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 8543
160 golang golang postgresql mysql, mariadb scan , null .. 바다아이 8681
159 golang golang , iconv 바다아이 11480
158 golang golang quote escape, unquote 바다아이 8882
157 golang golang , http errorLog , , ... 바다아이 8992
156 golang golang interface , 바다아이 8456
155 golang golang struct .... 바다아이 9128
154 golang golang map map , 바다아이 8660
153 golang golang map .... .... 바다아이 8178
152 golang golang slice copy 바다아이 8273
151 golang golang goto 바다아이 9127
150 golang golang slice sort , int, string, float64 바다아이 8605
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.06376
to webmaster... gogo sea. gogo sea.