csv文件操作(go语言)
2012-02-19 22:43
309 查看
go语言自带的有csv文件读取模块,看起来好像不错,今天玩玩,也算是系统学习go语言的一部分……^_^
一、写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)
具体见官网:http://golang.org/pkg/csv/#NewWriter
其实写csv文件大可不必用这些函数,直接按照规则写入文件就行,不过这里有这些函数,还是写个demo,也方便我以后使用:
二、读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)
具体见官网:http://golang.org/pkg/csv/#Reader.Read
1、首先要解决的是读取文件的所有内容并存成字符串,这里用的是ioutil模块,具体代码如下:
2、读取csv文件内容:
一、写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)
具体见官网:http://golang.org/pkg/csv/#NewWriter
其实写csv文件大可不必用这些函数,直接按照规则写入文件就行,不过这里有这些函数,还是写个demo,也方便我以后使用:
package main import ( "csv" "os" "bytes" "fmt" ) 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)
具体见官网:http://golang.org/pkg/csv/#Reader.Read
1、首先要解决的是读取文件的所有内容并存成字符串,这里用的是ioutil模块,具体代码如下:
package main import ( "io/ioutil" "fmt" ) func main(){ b,err := ioutil.ReadFile("1.csv") if err != nil { panic(err.String()) } //fmt.Println(b) fmt.Printf("%s",string(b)) }
2、读取csv文件内容:
package main import ( "fmt" "csv" "strings" "io/ioutil" ) 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.String()) } 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]) } }
好,就这些了,希望对你有帮助
相关文章推荐
- csv文件操作(go语言)
- 一个封装好的CSV文件操作C#类代码
- pandas 操作csv文件
- 对CSV文件进行操作
- 总结python对csv文件的操作
- Go 操作CSV格式文件
- 用javacsv API 来操作csv文件
- java操作csv文件之javacsv.jar应用
- 使用Javacsv.jar的jar包操作csv文件的方法
- 通过mysql outfile 直接快速导出.csv文件,适用于量级很大的导出操作
- 对文件夹中所文件(csv)进行读写操作
- java--csv文件操作
- 【GO语言】文件操作例子
- Python-csv文件基本操作
- python读取csv文件示例(python操作csv)
- php对csv文件的读取,写入,输出下载操作详解
- 对文件夹中所文件(csv)进行读写操作
- 对CSV文件进行操作
- .NET操作Excel/CSV文件以及分析JSON/XML数据类型
- php 操作csv文件