您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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文件內容有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。