PHP解析大型CSV文件以获取特定信息

PHP解析大型CSV文件以获取特定信息,php,csv,Php,Csv,我目前正在为一家公司做一个项目folding@home社区帮助进行比赛和社区统计跟踪。我遇到的问题是斯坦福平面文件有多大。目前它有170万条生产线,而且还在增长 我目前的问题是,我无法根据他们的团队获得我想要的用户的正确信息。代码似乎可以工作,但无法将数据写入csv文件 CSV库: 代码: 在我遇到一个问题之前,代码将无限期运行,但似乎已通过使用array\u key\u解决了这个问题。是否启用了错误报告功能?有什么错误吗?@Don't在使用数组之前,我会得到[Thu Mar 23 17:34:

我目前正在为一家公司做一个项目folding@home社区帮助进行比赛和社区统计跟踪。我遇到的问题是斯坦福平面文件有多大。目前它有170万条生产线,而且还在增长

我目前的问题是,我无法根据他们的团队获得我想要的用户的正确信息。代码似乎可以工作,但无法将数据写入csv文件

CSV库:

代码:


在我遇到一个问题之前,代码将无限期运行,但似乎已通过使用array\u key\u解决了这个问题。

是否启用了错误报告功能?有什么错误吗?@Don't在使用数组之前,我会得到
[Thu Mar 23 17:34:02.644925 2017][:error][pid 2464][client 10.0.1.133:7544]PHP注意:未定义索引:team in/var/www/html/parse.PHP,第17行
,它会一直运行,直到我重新启动Apache。首先,解析一个有数百万行的文件是个坏主意。这就是开发数据库的原因。如果您在linux上,您可以使用“grep-w'daily_user_summary.txt'-e'37726'”命令检索具有匹配单词的行。在for循环中,您是否可以放置此,打印($item);die(),这样for循环打印一行并退出。我想查看正在检索的内容。@blokeish它运行时没有错误,但不显示任何内容。即使我通过CLI运行它。如果我将文件精简一点,我也会得到这个打印
数组([name]=>Klue22[newcredit]=>2043580213[sum(total)]=>105974[team]=>37726)
require_once 'parsecsv.lib.php';
$csv = new parseCSV();
$csv->delimiter = "\t";
$csv->parse('daily_user_summary.txt');
$out = fopen('new.csv', 'w');
fputcsv($out, array('name', 'newcredit', 'team'));
foreach($csv->data as $item) {
  if(array_key_exists('team', $item)) {
    if($item['team'] == "37726") {
      fputcsv($out, $item);
    }
  }
}
fclose($out);