Maison >développement back-end >tutoriel php >Comment extraire et afficher des données à partir de fichiers CSV en utilisant PHP

Comment extraire et afficher des données à partir de fichiers CSV en utilisant PHP

王林
王林avant
2023-09-08 22:01:021034parcourir

Comment extraire et afficher des données à partir de fichiers CSV en utilisant PHP

Dans cet article, nous apprendrons comment afficher les données d'un fichier CSV à l'aide des fonctions fgetcsv(), str_getcsv et SplFileObject de PHP.

Le fichier CSV est un format de fichier simple utilisé pour stocker des données avec des valeurs séparées par des virgules, et chaque ligne représente un enregistrement dans les données tabulaires. Pour lire un fichier CSV à l'aide de PHP, nous utiliserons la fonction fgetcsv() qui lit un. ligne à partir d'un fichier CSV et renvoie un tableau de valeurs représentant les données CSV présentes dans cette ligne.

Comprenons ce problème à travers l'exemple suivant -

La traduction chinoise de

Exemple 1

est :

Exemple 1

Dans cet exemple, nous utiliserons la fonction fgetcsv() pour lire un fichier CSV de données et afficher les valeurs sous forme de tableau à l'aide de la balise HTML table.

Fichier CSV utilisé dans cet exemple−

Données.csv

Name, Age, City
John, 30, New York
Mary, 25, Los Angeles
Tom, 40, Chicago

Nom du fichier : index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  <?php
    $csvFile = fopen('Data.csv', 'r');

    echo '<table>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</table>';

    fclose($csvFile);
	?>
</body>
</html>
La traduction chinoise de

Exemple 2

est :

Exemple 2

Dans cet exemple, nous allons lire un fichier CSV d'étudiant contenant le nom, l'âge et le sexe de l'étudiant et afficher ses données sous forme de tableau en utilisant 3 méthodes différentes (en utilisant les méthodes str_getcsv, fgetcsv et SplFileObject).

La traduction chinoise de

Students.csv

est :

Students.csv

Name,Age,Gender
John Doe,25,Male
Jane Smith,30,Female
Bob Johnson,40,Male
Sara Lee,22,Female

Nom du fichier : index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  
  <!-- Method 1: str_getcsv -->
  <?php
    $csvData = file_get_contents('students.csv');
    $rows = str_getcsv($csvData, "</p><p>"); // Split CSV data into rows
    
    echo '<h4>Method 1: str_getcsv</h4>';
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($rows as $row) {
      $values = str_getcsv($row, ","); // Split row into values
      echo '<tr>';
      foreach ($values as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>
  
  <!-- Method 2: Combine fgetcsv() and HTML -->
  <?php
    echo '<h4>Method 2: Combine fgetcsv() and HTML</h4>';
    $csvFile = fopen('students.csv', 'r');
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</tbody></table>';
    fclose($csvFile);
  ?>
  
  <!-- Method 3: using SplFileObject -->
  <?php
    echo '<h4>Method 3: using SplFileObject</h4>';
    $csvFile = new SplFileObject('students.csv', 'r');
    $csvFile->setFlags(SplFileObject::READ_CSV);
    
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($csvFile as $row) {
      echo '<tr>';
      foreach ($row as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>

Conclusion

En résumé, afficher les données d'un fichier CSV en utilisant PHP est un processus simple, vous pouvez utiliser la fonction fgetcsv(). À l'aide de balises HTML, nous pouvons facilement afficher les données sous forme de tableau. En suivant les exemples fournis dans cet article, nous avons appris à lire et afficher les données de fichiers CSV en PHP, ce qui peut être utile dans diverses applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer