検索

ホームページ  >  に質問  >  本文

php怎么读取csv文件内容?

求大神告知php怎么读取csv文件内容?希望能说的全一些。

大神,求带!大神,求带!2880日前895

全員に返信(2)返信します

  • 数据分析师

    数据分析师2017-09-30 23:49:42

    PHPでCSVファイルの内容を読み取るには? -PHP中国語サイトQ&A-PHPでcsvファイルの内容を読み取るにはどうすればよいですか? -PHP中国語サイトQ&A

    ぜひ見て学んでください。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-01-09 13:10:11

    我这里提供几种方式的代码供你参考:

    一次性读取csv文件内所有行的数据

    <?php
    $file = fopen('windows_2011_s.csv','r');
    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);
    ?>

    读取csv文件的某一行数据

    <?php
    function get_file_line( $file_name, $line ){
      $n = 0;
      $handle = fopen($file_name,'r');
      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);
    ?>

    读取csv文件制定行数(行区间)

    <?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.
    ?>

    其他的两种方法(没测试)

    <?
    $handle=fopen("1.csv","r");
    while(!feof($handle)){
    $buffer=fgetss($handle,2048);
    $data=explode(",",$buffer);
    $num=count($data);
    for($i=0;$i<$num;$i++){
    print_r($data);
    }
    }
    ?>
    <?
    $handle=fopen("1.csv","r");
    $row=1;
    while($data=fgetcsv($handle,1000,",")){
    $num=count($data);
    for($i=0;$i<$num;$i++){
    echo $data[$i];
    }
    $row++;
    }
    ?>


    返事
    0
  • キャンセル返事