我的 output.csv 文件有问题。这就是目前的样子。我可以创建一个经过修改的新 csv 文件,或者只是修改此 csv 文件,但不知道如何进行。cn,mail,telephonenumber,uid,,,admin,,,"Isaac Newton",newton@ldap.forumsys.com,,newton"Albert Einstein",einstein@ldap.forumsys.com,314-159-2653,einstein"Nikola Tesla",tesla@ldap.forumsys.com,,tesla我希望输出是cn,mail,telephonenumber,uidadmin,,,"Isaac Newton",newton@ldap.forumsys.com,,newton"Albert Einstein",einstein@ldap.forumsys.com,314-159-2653,einstein"Nikola Tesla",tesla@ldap.forumsys.com,,tesla如您所见,第二行已完全删除。我已经尝试了以下方法,但它不起作用$lines = file("output.csv", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);$num_rows = count($lines);foreach ($lines as $line) { $csv = str_getcsv($line); if (count(array_filter($csv)) == 0) { $num_rows--; }}编辑:这是我当前的 PHP $filename = "output.csv"; header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="' . $filename . '"'); $file = fopen("ad.csv","r"); while(! feof($file)) { print_r(fgets($file)); } fclose($file);所以本质上,我有一个名为“ad.csv”的 csv 文件,其中包含我需要放入“output.csv”中的信息。我想知道如何编辑output.csv,以便在编辑删除空行后发送下载?目前,Nigel 的代码附加在底部,它不会编辑输出的 csv 文件。
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
如果您识别出空行,则可以从原始数组中的行中删除该行。然后将所有剩余的行放回到同一个文件中......
$lines = file("output.csv", FILE_SKIP_EMPTY_LINES );
$num_rows = count($lines);
foreach ($lines as $lineNo => $line) {
$csv = str_getcsv($line);
if (count(array_filter($csv)) == 0) {
unset($lines[$lineNo]);
}
}
file_put_contents("output.csv", $lines);
我已将其删除,FILE_IGNORE_NEW_LINES以便将新行保留在数组中。
- 1 回答
- 0 关注
- 195 浏览
添加回答
举报
0/150
提交
取消
