[問題] 處理csv檔資料集的相關問題(陣列;指標;動態;儲存)

看板C_and_CPP (C/C++)作者 (TeA)時間16年前 (2009/12/14 12:35), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 問題1. 目的:csv格式資料集讀取進來之後,該採取什麼資料結構來給程式用比較好呢? 詳述:我手上的資料集,它的欄列是不固定的,目前最大4百80萬多行(*1),小的有不 到一百行,所以採用固定的陣列來儲存我想是不太可能的(就我的認知@@) 所以我想說可能要用link list,但是又想到因為常常要統計資料狀況,例 如計算支持度、信賴度等等,資料會一直讀來讀取,如果用link list,那 麼指標的移動成本好像又很高...。另外我又想到,是不是可以用多維度的 指標來儲存資料,想要到哪一行或列,只要透過計算位置,然後加上去就以 直接到達我要的位置,只是..我不確定這樣是否真的可行,所以想來問問看 各為前輩的意見(ex: *(ptr+4),*(ptr+8) ) *1:原始檔700多MB,盡量省空間不知道能不能塞進RAM裡面.. 問題2. 目的:如何宣告出正確大小的char*來儲存讀進來的檔案資料 詳述:我的目的是想用一個char*來儲存檔案的資料,但是因為每個檔案大小都不固定 所以我在思考我要如何正確的宣告出變數大小,以便我儲存資料。目前想到蠢 方法是 while((ch=gets(fp))!=EOF) counter++; 然後再 (char*) malloc(sizeof(char*)*counter); 請問在C語言裡面,一般人家是這樣做嗎?如果不是,請問我該怎麼弄呢? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) CodeBlocks 8.02 在這邊先謝謝各位前輩不吝嗇的為我解惑,我本身有程式設計的經驗,但是過去都不是 寫C或C++這種比較深入的程式,在資料儲存與變數使用上,跟過去有很大的不同,所以 為了這些問題卡了老半天 >"< 論文不努力,明年會延畢 Orz -- <table><tr><td>&nbsp;</td> <DIV><DIV><DIV>&nbsp;</DIV><DIV>&nbsp; </tr><tr><td>&nbsp;</td> </DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV> </tr><tr><td>&nbsp;</td> </DIV></DIV><DIV><DIV><DIV>&nbsp;</DIV> </tr></table><table><tr> <DIV>&nbsp;</DIV><DIV>&nbsp;</DIV><DIV> <td>&nbsp;</td></tr><tr><td> &nbsp;</DIV></DIV></DIV><DIV>&nbsp;</DIV> &nbsp;</td></tr><tr><td>&nbsp; 問題,往往不是在DIV或是TABLE... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.149.181

12/14 12:47, , 1F
先說你的目的吧 這樣才知道用什麼方法好
12/14 12:47, 1F

12/14 13:04, , 2F
vector<vector<string>>
12/14 13:04, 2F

12/14 17:04, , 3F
我的目的是我要進行關聯分類的演算法 有點像跑排列組合
12/14 17:04, 3F

12/14 17:04, , 4F
每個欄位的值都要拿來跑排列組合 然後再進行統計實際出現次數
12/14 17:04, 4F
文章代碼(AID): #1B9S2WwC (C_and_CPP)
文章代碼(AID): #1B9S2WwC (C_and_CPP)