2

假设我们创建了一个 CSV,其中包含以下项目;

A   B   C   D   E   F
G   H   I   J   K   L
M   N   O   P   Q   R

我试图弄清楚如何使用以下代码

$f = fopen($file, "r");
while ($row = fgetcsv($f,'',';')) {
    if ($row[1] == 'H') {       
        echo ('FOUND ! ');      
    }
}

要打开文件并在HCSV 文件中找到的项目之后,我想将K项目替换为K+replace. 这是怎么做到的?

我想用它来有条件地在一百万条目 CSV 中插入值,我的意思是如果发现一个元素用其他值更新这个项目。

我之所以选择 CSV,是因为 MySQL 需要 0.5 秒以上的时间来搜索-查找-更新/替换每个项目。(一切都在一个循环中完成)。

4

1 回答 1

1

最简单的方法是打开文件并像您一样一次读取一行,然后打开一个“输出”文件并在循环遍历“源文件。所以基本上

$f = fopen($file, "r");
$o = fopen($output_file, "a");
while ($row = fgetcsv($f,'',';')) {
  if ($row[1] == 'H') {         
    $row[4] = '??'; // whatever you want to replace K with
     echo ('FOUND ! ');        
  }
  fputcsv($o,$row,';');    
}
于 2013-03-09T16:03:20.817 回答