如何读取csv文件并在php上显示特定列?

时间:2015-06-29 18:52:59

标签: php

我有一个包含行和列的csv文件,我想要显示C和E列。我的结果总是带有这样的一切:aaabbbcccddee。任何想法如何分开,如aaa bbb ccc dd ee和仅显示C列和E列?

这是我到目前为止所拥有的:

$row = 1;
if (($handle = fopen("file.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}

1 个答案:

答案 0 :(得分:0)

仅打印您想要的列

$row = 1;
if (($handle = fopen("file.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
        echo 'Data is ' . $data[2] . ' ' . $data[4]
    }
    fclose($handle);
}

fgetcsv()函数允许您指定分隔符,在上面的示例中是分隔符(“,”)。您可以指定其他分隔符,例如制表符(“\ t”)。

在while循环中,fgetcsv()命令将返回从您的行读取的值数组。

因此,如果你的行是

111,aaa,bbb,ccc

然后$ data将

Array (
   [0] => 111,
   [1] => aaa,
   [2] => bbb,
   [3] => ccc,
)