將讀取csv檔案的函式和當前正在讀取的檔案操作符等放在乙個類中,構造類似控制代碼的乙個類,代表乙個幀的檔案。
類中包含如開啟、關閉、檢查列數、(沒有寫檢查行數的函式)、科學計數法轉浮點數等基本操作。
mat類引用傳參。
//read_csv.h
#ifndef read_csv_h
#define read_csv_h
#include
#include
#include
#include
#include
//istringstream 必須包含這個標頭檔案
#include
using
namespace std;
using
namespace cv;
class
csv;
double
sci2db
(string& strsci)
;#endif
// !read_csv_h
filename_base 是基礎檔名,在上位機匯出時設定,後面跟著上位機自動補全的第幾幀。
blank_rows是無效的行數,上位機會生成幾行記錄相關資訊。
#include
"read_csv.h"
/*每一幀是乙個檔案
*/csv::
csv(
int b,
int r=
240)
//建構函式
csv::
~csv()
//析構函式
void csv::
check_columns
(void
)getline
(this
->infile, tmp)
;//--讀取一行
this
->columns =1;
for(
int i =
0; i < tmp.
size()
; i++
) cout <<
"there exists "
<<
this
->columns <<
" columns in the file "
<< endl;
file_close()
;//關閉檔案
}void csv::
read_csv
(int n,mat& dest)
}file_close()
;//關閉檔案
}void csv::
open_csv
(int idx)
void csv::
file_close
(void
)double
sci2db
(string& strsci)
strmntsa = strsci.
substr(0
, strsci.
find
("e"))
; strpower = strsci.
substr
(strsci.
find
("e")+
1); dmntsa =
atof
(strmntsa.
c_str()
);ipower =
atoi
(strpower.
c_str()
);while
(ipower !=0)
else
}return dmntsa * dcoefficient;
}/*temp
void csv::write_csv(void)
void csv::creat_new_csv(void)
void csv::open_csv(void)
*/
簡單寫乙個讀取每一幀吧
#include
#include
"read_csv.h"
using
namespace cv;
using
namespace std;
int start_frame =
1000
, end_frame =
6000
;//起始幀和終點幀
intmain()
//···
//system("pause ");
return0;
}
C 讀取CSV檔案中的資料
csv檔案是一種文字檔案,表示的是excel 資料,可以由辦公軟體excel輕鬆生成。為了在程式中使用excel資料,就需要以文字的形式操作excel資料,具體就是操作csv 資料。如下所示,include include include include include using namespac...
c 讀取csv到陣列 python讀取csv檔案
python讀取csv檔案 csv檔案,用記事本編輯,然後命名為test1.csv 1,2,3,4 5,6,7,8 9,10,11,12 用excel開啟,就是這樣的 使用python讀取檔案 按行讀取。然後把讀到的東西賦值給python程式中的變數。這個變數,可以是乙個列表 在這裡,是乙個2維的列...
c 讀取csv檔案
目前任務需要處理大量excel 為便於處理轉化為csv格式。csv是一種以半形逗號和換行符作為分割的excl 格式,用記事本直接開啟便很清楚的看到內部構造。之前曾經用c 處理,比較方便,直接將csv讀取為datatable格式進行處理,網上有現成 竊以為應該多練練c 就試一下。菜鳥乙個,只作為記錄 ...