J'ai une grande quantité de données provenant d'un fichier csv qui ressemble à quelque chose comme ci-dessous.tri des données csv en fonction des occurrences de mots communs
url1, comment1
url2, comment2
Je dois trouver les mots entre les commentaires et trier les lignes en conséquence en fonction de l'apparition des mots sur chaque ligne.
Pour le moment je suis capable d'obtenir les mots communs mais je suis perdu quant à la façon de trier les lignes par mot commun sans épuiser la mémoire.
Voici mon code très inefficace.
$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));
Si vous allez être couper/couper en dés la Les données CSV à plusieurs reprises, vous feriez mieux de le charger dans une base de données au lieu de le faire dans PHP. Le coût de chargement ponctuel serait compensé par la facilité avec laquelle l'exploration de données se fera une fois dans la base de données. –
Merci, je vais essayer cette approche – madkris24