Как удалить верхнюю строку в файле CSV (заголовки столбцов)? - PullRequest
3 голосов
/ 23 февраля 2009

Я собрал скрипт, который будет загружать файл 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 ]

11 голосов
/ 23 февраля 2009

Просто поместите следующее перед циклом while, чтобы прочитать первую строку:

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

После этого цикл while начинается со второй строки.

1 голос
/ 23 февраля 2009

Обдумайте это.

Создайте логический флаг снаружи и переключайте его, как только вы войдете в цикл вместо импорта, используя оператор if.

0 голосов
/ 23 февраля 2009

Просто сделайте пустое чтение как таковое:

$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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...