假设我们创建了一个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 ! ');
}
}
要打开文件,然后在CSV文件中找到H
项,我想将K
项替换为K+replace
。这是如何做到的呢?
我想用这个来有条件地插入值在一百万项CSV,我的意思是如果一个元素被发现更新这个项目与其他值。
我选择CSV是因为MySQL需要超过0.5秒的时间来搜索-查找-更新/替换每个项目。
做到这一点的最简单的方法是打开文件并像您一样一次一行地读取它,但然后打开一个"输出"文件并在循环遍历"源"文件中的每行时一次一行地写入该文件。所以基本上是
$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,';');
}