Maison  >  Article  >  développement back-end  >  php lit un exemple de fichier CSV

php lit un exemple de fichier CSV

怪我咯
怪我咯original
2017-07-16 14:42:391687parcourir

CSV est un format de fichier polyvalent et 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.

  • "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 :

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

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

  • 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 ;

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

Sous ces contraintes 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 présente principalement la fonction de lecture des fichiers CSV implémentée par php, et analyse la lecture des fichiers CSV et des chaînes par php sous forme de Exemples. Pour les compétences opérationnelles telles que la traversée et la conversion de tableaux, les amis dans le besoin peuvent se référer à

function read_csv($cvs) {
  $shuang = false;
  $str = file_get_contents($cvs);
  for ($i=0;$i<strlen($str);$i++) {
    if($str{$i}==&#39;"&#39;) {
      if($shuang) {
        if($str{$i+1}==&#39;"&#39;) {
          $str{$i} = &#39;*&#39;;
          $str{$i+1} = &#39;*&#39;;
        } else {
          $shuang = false;
        }
      } else {
        $shuang = true;
      }
    }
    if($str{$i}==&#39;,&#39;) {
      if($shuang) {
      } else {
        $str{$i} = &#39;|&#39;;
      }
    }
    if($str{$i}=="\n") {
      if($shuang) {
        $str{$i} = &#39;^&#39;;
      } else {
      }
    }
  }
  $str = str_replace(array(&#39;"&#39;,&#39;*&#39;),array(&#39;&#39;,&#39;"&#39;),$str);
  $a1 = explode("\n",$str);
  $array = array();
  foreach($a1 as $k=>$value) {
    if($value) {
      $value = str_replace("^","\n",$value);
      $array[$k] = explode("|",$value);
    }
  }
  return $array;
}
.

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