在PHP中解析大型CSV

时间:2015-01-02 20:09:28

标签: php fgetcsv

我有一个大的CSV我正在编写一个PHP CLI脚本来导入现有的PHP应用程序,同时利用现有的应用程序的ORM在字段之间进行关系管理(相信我,我查看了一个SQL CSV导入,这样更容易)。我们手头的问题是我的CSV数据格式不正确,或者我的fgetcsv()电话错误。

这是我想要导入的示例数据集:

id,fname,lname,email\n
1,John,Public,johnqpublic@mailinator.com\n
1,Jane,Public,janeqpublic@mailinator.com\n

CSV导入代码几乎取自fgetcsv()上的PHP文档:

function import_users($filepath) {
  $row = 0;
  $linesExecuted = 0;

  if(($file = fopen($filepath, 'r')) !== false) {
    $header = fgetcsv($file); //Loads line 1

    while(($data = fgetcsv($file, 0, ",")) !== false) {
      $userObj = user_record_generate_stdclass($data);
      //A future method actually pipes the data through via the ORM
      $row++;
    }
    fclose($file);
  } else {
    echo "It's going horribly wrong";
  }

  echo $row." records imported.";
}

这种方法的结果逻辑几乎是%符号,这令人困惑。我忽略了什么吗?

0 个答案:

没有答案