为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 PHP 中删除 CSV 文件中的空行?

如何在 PHP 中删除 CSV 文件中的空行?

PHP
www说 2023-08-19 16:15:53
我的 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以便将新行保留在数组中。


查看完整回答
反对 回复 2023-08-19
  • 1 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号