为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:从 1 个 CSV 文件中获取数据到 anthoer

Golang:从 1 个 CSV 文件中获取数据到 anthoer

Go
ITMISS 2021-08-23 16:46:13
我是 golang 的新手,我试图将 1 个 csv 文件提取到另一个新的 csv 文件,但我只需要旧 csv 文件中的 2 条记录。您将如何仅获取该文件的前两条记录?这是我迄今为止尝试过的(也在play.golang.org 中):package mainimport (    "encoding/csv"    "fmt"    "io"    "os")func main() {    //SELECTING THE FILE TO EXTRACT.......    csvfile1, err := os.Open("data/sample.csv")    if err != nil {        fmt.Println(err)        return    }    defer csvfile1.Close()    reader := csv.NewReader(csvfile1)    for i := 0; i < 3; i++ {        record, err := reader.Read()        if err == io.EOF {            break        } else if err != nil {            fmt.Println(err)            return        }        csvfile2, err := os.Create("data/SingleColomReading.csv")        if err != nil {            fmt.Println(err)            return        }        defer csvfile2.Close()        records := []string{            record,        }        writer := csv.NewWriter(csvfile2)        //fmt.Println(writer)        for _, single := range records {            er := writer.Write(single)            if er != nil {                fmt.Println("error", er)                return            }            fmt.Println(single)            writer.Flush()            //fmt.Println(records)            //a:=strconv.Itoa(single)            n, er2 := csvfile2.WriteString(single)            if er2 != nil {                fmt.Println(n, er2)            }        }    }}
查看完整描述

2 回答

?
www说

TA贡献1775条经验 获得超8个赞

这owuld更容易:


读CSV文件到一个字符串数组(每个元素一行),两个第一线仅


var lines []string

scanner := bufio.NewScanner(file)

nblines := 0

for scanner.Scan() {

    lines = append(lines, scanner.Text())

    if nblines++; nblines >= 2 {

        break

    }

}

然后您可以使用 arange lines在目标文件中写入这两行。

lines最多包含 2 个元素。


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信