我有一个来自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