千家信息网

SDK协议EasyCVR如何通过Go语言读取csv文件内容

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,今天就跟大家聊聊有关SDK协议EasyCVR如何通过Go语言读取csv文件内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。EasyCVR是T
千家信息网最后更新 2025年02月02日SDK协议EasyCVR如何通过Go语言读取csv文件内容

今天就跟大家聊聊有关SDK协议EasyCVR如何通过Go语言读取csv文件内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

EasyCVR是TSINGSEE开发的视频智能安防监控平台,支持通过调用API接口进行二次开发,同时也支持其他定制功能的开发。在EasyCVR的部分定制项目中,需要导入csv文件生成对应的录像上传计划,因此需要对csv文件的内容进行读取。

一般csv文件和excel文件类似,不是一个个表格组成的数据。相对于excel文件来说,csv文件的格式更简单,只要每个数据以","分隔开,逗号前后的数据就是两个表格的数据。显示如下:

实际Go语言对于csv文件一次性读取的代码文件为:

// 一次性读取所有的数据func ReadCsvFileAll(fileName string) ([][]string, error) {   //针对小文件,一次性读取所有的内容   fs, err := os.Open(fileName)   if err != nil {      return nil, err   }   defer fs.Close()   r1 := csv.NewReader(fs)   return r1.ReadAll()}

以上代码适合读取小的csv文件,对于有的csv文件甚至会达到数十万条数据,一次性读取全部,会导致内存空间大量占用,不适合一次性读取,因此就需要一行行的读取。代码如下:

// 读取 csv 文件的每一行func ReadCsvLine(fileName string) {   fs, err := os.Open(fileName)   if err != nil {      fmt.Println("readError ", err)   }   defer fs.Close()   r := csv.NewReader(fs)   //针对大文件,一行一行的读取文件   for {      row, err := r.Read()      if err != nil && err != io.EOF {         fmt.Println("readError ", err)      }      if err == io.EOF {         break      }      fmt.Println(row)   }}

GO语言凭借其精简易学的特点一直是很多人的心头好,同时,Go语言中友好的工具链也让编程更加轻松。

看完上述内容,你们对SDK协议EasyCVR如何通过Go语言读取csv文件内容有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0