Position actuelle: Accueil> Derniers articles> Méthodes pratiques et exemples pour un traitement efficace des fichiers CSV dans PHP

Méthodes pratiques et exemples pour un traitement efficace des fichiers CSV dans PHP

M66 2025-07-10

Façons de base pour traiter les données CSV à l'aide des fonctions PHP

CSV (valeurs séparées par les virgules) est un format de données de texte structuré largement utilisé. PHP possède une variété de fonctions intégrées qui peuvent facilement lire, écrire et exploiter des fichiers CSV, simplifiant considérablement le travail de développement.

Lire les fichiers CSV

 $handle = fopen('data.csv', 'r');
while (($row = fgetcsv($handle)) !== FALSE) {
    // Traiter chaque rangée de données
}
fclose($handle);

Écrivez dans le fichier CSV

 $handle = fopen('data.csv', 'w');
fputcsv($handle, ['col1', 'col2', 'col3']);
fclose($handle);

Analyse des données de ligne CSV

 $row = fgetcsv($handle);
$values = explode(',', $row[0]);

Épissage du tableau sous forme de CSV

 $row = ['col1', 'col2', 'col3'];
$csvLine = implode(',', $row);

Méthode d'optimisation pour gérer les grands fichiers CSV

Pour les environnements avec une mémoire limitée, l'utilisation de la classe SPLFIleObject basée sur le générateur peut éviter efficacement le débordement de la mémoire et convient à la gestion des fichiers volumineux:

 $handle = fopen('data.csv', 'r');
$csv = new SplFileObject('data.csv');
$csv->setFlags(SplFileObject::READ_CSV);

foreach ($csv as $row) {
    // Traiter chaque rangée de données
}

Exemple pratique: importez les données des utilisateurs à partir du fichier CSV

Supposons que vous ayez un fichier CSV avec un nom d'utilisateur, un e-mail et un mot de passe, le code suivant montre comment lire le fichier et importer l'utilisateur:

 // Ouvrir CSV document
$handle = fopen('users.csv', 'r');

// Sauter la ligne de titre
fgetcsv($handle);

// Lire et traiter les données de l'utilisateur ligne par ligne
while (($row = fgetcsv($handle)) !== FALSE) {
    $username = $row[0];
    $email = $row[1];
    $password = $row[2];

    // Ici, vous appelez la fonction personnalisée pour insérer l'utilisateur
    insert_user($username, $email, $password);
}

fclose($handle);