Maison  >  Article  >  développement back-end  >  Explication détaillée de la lecture php du contenu du fichier CSV

Explication détaillée de la lecture php du contenu du fichier CSV

怪我咯
怪我咯original
2017-07-16 14:44:364093parcourir

Fichier csvIntroduction :

CSV est un format de fichier à usage général, relativement simple, largement utilisé par les utilisateurs, les entreprises et la science. L'application la plus répandue concerne le transfert de données tabulaires entre des programmes qui fonctionnent eux-mêmes sur des formats incompatibles (souvent des formats propriétaires et/ou non canoniques). Parce qu'un grand nombre de programmes prennent en charge certaines variantes du CSV, au moins en tant que format d'entrée/sortie facultatif.

Par exemple, un utilisateur peut avoir besoin d'échanger des informations provenant d'un programme de base de données qui stocke les données dans un format propriétaire vers une feuille de calcul contenant des données dans un format complètement différent. Très probablement, le programme de base de données peut exporter les données au format « CSV » et le fichier CSV exporté peut ensuite être importé par un tableur.

  1. "CSV" n'est pas un format unique et bien défini (bien que la RFC 4180 ait une définition couramment utilisée). En pratique, le terme « CSV » fait donc référence au sens large à tout fichier qui est :

  2. texte brut, utilisant un certain jeu de caractères, tel que ASCII, Unicode , EBCDIC ou GB2312 ;

  3. se compose d'enregistrements (généralement un enregistrement par ligne

  4. Chaque enregistrement est séparé en champs par des délimiteurs (typique) ; les délimiteurs sont des virgules, des points-virgules ou des tabulations ; parfois les délimiteurs peuvent inclure des espaces facultatifs ;

  5. Chaque enregistrement a la même séquence de champs.

Sous ces contraintes conditions générales, il existe de nombreuses variantes CSV, les fichiers CSV ne sont donc pas complètement interopérables. Cependant, ces variations sont très mineures et il existe de nombreuses applications qui permettent à l'utilisateur de prévisualiser le fichier (ce qui est possible puisqu'il s'agit de texte brut), puis de spécifier des délimiteurs, des règles d'échappement, etc. Si la variation dans un fichier CSV particulier est trop importante pour être prise en charge par un programme de réception particulier, l'approche réalisable consiste souvent à inspecter et à modifier manuellement le fichier, ou à résoudre le problème via un programme simple. Par conséquent, dans la pratique, les fichiers CSV restent très pratiques.

Cet article est une analyse détaillée et une introduction au contenu de PHP lisant des fichiers csv. Les amis dans le besoin peuvent s'y référer

Lisez toutes les lignes de données du fichier csv en une seule fois. heure

<?php 
$file = fopen(&#39;windows_2011_s.csv&#39;,&#39;r&#39;); 
while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容
//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可
$goods_list[] = $data;
 }
//print_r($goods_list);
/* foreach ($goods_list as $arr){
    if ($arr[0]!=""){
        echo $arr[0]."<br>";
    }
} */
 echo $goods_list[2][0];
 fclose($file);
?>

Lire une certaine ligne de données du fichier csv

<?php
function get_file_line( $file_name, $line ){
  $n = 0;
  $handle = fopen($file_name,&#39;r&#39;);
  if ($handle) {
    while (!feof($handle)) {
        ++$n;
        $out = fgets($handle, 4096);
        if($line==$n) break;
    }
    fclose($handle);
  }
  if( $line==$n) return $out;
  return false;
}
echo get_file_line("windows_2011_s.csv", 10);
?>

Lire le fichier csv pour spécifier le nombre de lignes (intervalle de lignes)

<?php
function get_file_line( $file_name, $line_star,  $line_end){
    $n = 0;
    $handle = fopen($file_name,"r");
    if ($handle) {
        while (!feof($handle)) {
            ++$n;
            $out = fgets($handle, 4096);
            if($line_star <= $n){
                $ling[] = $out;
            }
            if ($line_end == $n) break;
        }
        fclose($handle);
    }
    if( $line_end==$n) return $ling;
    return false;
}
$aa = get_file_line("windows_2011_s.csv", 11, 20);  //从第11行到第20行
foreach ($aa as $bb){
    echo $bb."<br>";
}
?>

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn