我有一個來自csv文件的大數據,其格式如下所示。根據常見詞的出現對csv數據進行排序
url1, comment1
url2, comment2
我需要找到註釋之間的常用詞,並根據每行上出現的常見詞進行排序。
目前我能夠獲得常用詞彙,但我失去了如何在不耗盡內存的情況下對每個常用詞彙進行排序。
下面是我非常低效的代碼。
$data = array();
while (($row = fgetcsv($fh, 1024, ',')) !== false) {
$data[] = $row[1];
}
$str = preg_replace('/\s\s+/', ' ', trim(str_replace(array('!', '?', '.', ','), ' ', implode('', $data))));
$words = explode(" ", $str);
var_dump(array_count_values($words));
如果你要進行切片/切割的CSV數據反覆,你最好把它加載到數據庫中,而不是在PHP中進行。一次加載成本將被數據挖掘一旦進入數據庫後容易多少所抵消。 – 2010-12-14 20:10:40
謝謝,我會嘗試這種方法 – madkris24 2010-12-15 09:49:25