如何删除CSV文件中的顶行(列标题)?

时间:2009-02-23 15:35:50

标签: php csv

我已经整理了一个脚本,该脚本将上传CSV文件,然后将数据提取到已经制作的表中。我想这样做,所以第一行(列标题)将不会插入表中,但其余的数据将是。

  $fp = fopen($_SESSION['filename'],"r");


while (($data = fgetcsv($fp, 1000, ",")) !== FALSE)

{
    $import="INSERT into csv_table(name,address,age) values('$data[0]','$data[1]','$data[2]')";

    mysql_query($import) or die(mysql_error());

}

fclose($fp);

这是我用来从csv文件中提取数据的代码的一部分。

非常感谢您对此事的任何帮助!

3 个答案:

答案 0 :(得分:11)

只需在while循环之前添加以下内容即可阅读第一行:

fgetcsv($fp, 1000, ",");

此后,while循环从第二行开始。

答案 1 :(得分:1)

解开它。

在外部创建一个布尔标志,并在使用if语句进入循环而不是导入时切换它。

答案 2 :(得分:0)

只需空白阅读:

$fp = fopen($_SESSION['filename'],"r");
$headerLine = true;

while (($data = fgetcsv($fp, 1000, ",")) !== FALSE)

{
        if($headerLine) { $headerLine = false; }
        else {
                $import="INSERT into csv_table(name,address,age) values('$data[0]','$data[1]','$data[2]')";

                mysql_query($import) or die(mysql_error());
        }

}

fclose($fp);