如何知道从CSV文件读取的数据的总长度?

如何知道从CSV文件读取的数据的总长度?,csv,go,foreach,Csv,Go,Foreach,如何知道从CSV文件读取的数据的总长度 func main(){ openfile, _ := os.Open(filepath) //read the data of file filedata, _ := csv.NewReader(openfile).ReadAll() for e, value := range filedata { // what should I write here for getti

如何知道从CSV文件读取的数据的总长度

func main(){

openfile, _ := os.Open(filepath)

        //read the data of file
        filedata, _ := csv.NewReader(openfile).ReadAll()

        for e, value := range filedata {

             // what should I write here for getting the total length of the data?

        }
}

考虑一个包含3行的problems.csv文件

5+5,10
7+3,10
1+1,2
要获取此csv文件的总行数,请执行以下操作:

package main

import (
    "encoding/csv"
    "fmt"
    "log"
    "os"
)

func main() {
    openfile, err := os.Open("problems.csv")
    if err != nil {
        log.Println(err)
        return
    }
    filedata, err := csv.NewReader(openfile).ReadAll()
    if err != nil {
        log.Println(err)
        return
    }
    totalQuestions := len(filedata)
    fmt.Println("Total no: of rows:", totalQuestions)
    for e, value := range filedata {
        fmt.Println(e, value)
    }
}

输出:

Total no: of rows: 3
0 [5+5 10]
1 [7+3 10]
2 [1+1 2]

行数为lenfiledata。当前行中的列数为lenvalue。文件的总大小(字节)为s,err:=openfile.Stat;n:=s.sizei如果我想获取文件的总行数,那么在打开文件后,在使用foreach函数之前,该如何获取?使用表达式lenfiledata获取文件中的总行数。将变量filedata设置为文件行后,可以随时对表达式求值。您的意思是在for e、value:=范围文件数据{}之前声明一个变量,如lengthofRow:=lenfiledata吗?在需要行数的任何位置使用lenfiledata。表达式lenfiledata编译为局部变量access。不需要再声明另一个变量。这个答案很好,但我真的遇到了一个问题,在我阅读文件后,它只显示了0行,我很生气,但不知道怎么做,无论如何,谢谢你的回答。你的csv文件可能有一些问题。确保打开文件并读取csv文件后打印错误。非常感谢,但我还有一件事要问,如果我想将所有数据放入CSV文件中的切片/数组中进行进一步检查,我该怎么做?很多教程视频都没有在youtube上教授这一点。你的意思是将从csv文件读取的所有数据放入一个数组中吗?filedata,err:=csv.NewReaderopenfile.ReadAll。这里filedata是一个类型为[][]string的二维数组,那么如何识别[][]中的每一个呢?也许我想把它拿出来做一些验证或比较等等。。我如何把它们放入数组或切片中并取出?也许我的英语真的很差,但你也可以试着给我发电子邮件给出答案,谢谢。jinghao0958@gmail.com