[請益] 讀檔可以指定只讀哪幾列嗎?

看板PHP作者 ( )時間13年前 (2012/11/22 16:37), 編輯推噓0(0010)
留言10則, 4人參與, 最新討論串1/2 (看更多)
因為我要讀取的檔案很大,非常多列 以我目前會的做法是 檔案從頭掃到尾 找到我要的那一列 但是因為資料很多 每找一次都要花很久的時間 想請問 有辦法指定每一個迴圈 不要從頭掃到尾 只要直接讀取檔案的某一列 就好嗎? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.32.9 ※ 編輯: eco100 來自: 140.109.32.9 (11/22 16:37)

11/22 18:16, , 1F
如果是linux可以用shell指令下去找
11/22 18:16, 1F

11/22 20:46, , 2F
懶人法 $line=exec("sed -n 100p $file"); // 讀第100行
11/22 20:46, 2F

11/23 22:22, , 3F
sequential search 是最沒效率的東西
11/23 22:22, 3F

11/23 22:23, , 4F
善用 hash filename,把原始檔案分成多個小檔去找
11/23 22:23, 4F

11/23 23:04, , 5F
樓上可以請教怎麼做嗎? 謝謝
11/23 23:04, 5F

11/28 23:56, , 6F
簡單說就是把 array key/index 分群組
11/28 23:56, 6F

11/28 23:57, , 7F
這些 key/index 經由 hash 運算後變成檔名(避免重複)
11/28 23:57, 7F

11/28 23:58, , 8F
要搜尋時,針對要找的群組算 hash,就知道落在那個小檔裡
11/28 23:58, 8F

11/28 23:59, , 9F
群組越多,每個檔案就越小,找起來越快
11/28 23:59, 9F

11/29 00:02, , 10F
當然也不能分出太多檔案,硬碟會有I/O上的問題
11/29 00:02, 10F
文章代碼(AID): #1GhUH7Z5 (PHP)
文章代碼(AID): #1GhUH7Z5 (PHP)