如何知道从CSV文件读取的数据的总长度?
如何知道从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
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