一、写csv文件
函数:
func NewWriter(w io.Writer) *Writer
func (w *Writer) Flush()
func (w *Writer) Write(record []string) (err os.Error)
func (w *Writer) WriteAll(records [][]string) (err os.Error)
demo
package main
import (
"bytes"
"encoding/csv"
"fmt"
"os"
)
func main() {
fileName := "2.csv"
buf := new(bytes.Buffer)
r2 := csv.NewWriter(buf)
for i := 0; i < 10; i++ {
s := make([]string, 3)
s[0] = "user id"
s[1] = "name"
s[2] = "depart"
r2.Write(s)
r2.Flush()
}
fmt.Println(buf)
fout, err := os.Create(fileName)
defer fout.Close()
if err != nil {
fmt.Println(fileName, err)
return
}
fout.WriteString(buf.String())
}
二、读csv文件
函数:
func NewReader(r io.Reader) *Reader
func (r *Reader) Read() (record []string, err os.Error)
func (r *Reader) ReadAll() (records [][]string, err os.Error)
demo
package main
import (
"encoding/csv"
"fmt"
"io/ioutil"
"strings"
)
func main() {
//fileName := "1.csv"
fmt.Printf("Input file name : ")
var fileName string
fmt.Scanf("%s", &fileName)
cntb, err := ioutil.ReadFile(fileName)
if err != nil {
panic(err)
}
r2 := csv.NewReader(strings.NewReader(string(cntb)))
ss, _ := r2.ReadAll()
//fmt.Println(ss)
sz := len(ss)
for i := 0; i < sz; i++ {
fmt.Println(ss[i])
}
}
近期评论