使用php读取csv文件的最简单方法,然后选择一个特定值

时间:2010-11-01 05:40:00

标签: php file csv

提前感谢您的时间/帮助。我是一个学习php的新手,所以请记住这一点。

第1个问题 我需要一个读取csv文件的php脚本。

第二个问题 如何回显该文件中的特定单元格(行和行/列)

我在类似的回复中找到了这个脚本,脚本完整地读取了整个文件,但我只想在该csv文件中选择特定的单元格/值。那么如何回显特定行或行和列。

$row = 1;
if (($handle = fopen("1.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);
}

2 个答案:

答案 0 :(得分:3)

如果你需要选择几种情况,最好的方法是在php中制作一个多维数组。否则,只需将几个计数器放入while循环并完成。

$row = 1;
$mycsvfile = array(); //define the main array.
if (($handle = fopen("1.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";
        }
        $mycsvfile[] = $data; //add the row to the main array.
    }
    fclose($handle);
}

echo $mycsvfile[3][1]; //prints the 4th row, second column.

答案 1 :(得分:0)

我们可以使用以下脚本根据csv头创建表和表字段。我想创建一个以表字段作为标题的表,而不是打印标题。每个字段中的数据可以是varchar(50)

$row = 1;
if (($handle = fopen("1.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);
}