使用PHP SplFileObject和READ_CSV标志时如何删除多余的行?

佐林·格林

当使用PHP SplFileObjectREAD_CSV标志遍历一个csv文件时我得到了一个带有null的额外行有没有一种方法可以自动删除此行?

$file = new SplFileObject(__DIR__.'/technologies.csv', 'r');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    var_dump($row);
}

这将产生一个带有null的行

...
array(1) {
  [0] =>
  NULL
}
萨拉特

您还想设置SplFileObject::SKIP_EMPTY标志,并且要使该SplFileObject::READ_AHEAD标志也起作用

SplFileObject::SKIP_EMPTY标志执行其在锡罐上的指示:跳过空行。文件中的尾随换行符算作一个空行。

(除了:SplFileObject::READ_AHEAD需要它,以便SplFileObject::SKIP_EMPTY可以完成其工作。需要在内部读取下一行,以便PHP可以确定它是否为空。)


因此,您的代码将看起来像(包裹在多行上,以便您可以阅读):

$file->setFlags(SplFileObject::READ_CSV |
                SplFileObject::SKIP_EMPTY |
                SplFileObject::READ_AHEAD);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用read_csv时引起多余的逗号,导致数据帧过多

熊猫:使用read_csv时如何获取已读取行的状态?

如何使用php删除CSV文件中的多余逗号

使用熊猫的read_csv时如何设置变量

熊猫:使用read_csv时如何包含双引号?

如何使用数字和空格使 read_csv 更灵活

使用熊猫read_csv读取此制表符分隔的文件时,行丢失

如何使用php删除行?

使用.read_csv读取csv文件的所有行

在 read_csv() 中,如何结合使用 `col_names = TRUE` 和 `col_character`

如何使用Dask read_csv读取第n行,以快速读取多个文件?

如何在使用read_csv保持第一行作为列名的同时跳过csv文件的第二行?

使用熊猫read_csv读取标题时跳过`#`字符

在 Pandas 中使用 read_csv 时忽略双引号 (")

在熊猫中使用read_csv时精度下降

使用 pandas read_csv 时随机打印笑脸?

使用时间戳合并时删除多余的行

使用PHP从CSV文件中删除行

使用带有“行环绕”和Grid-gap的Angular Flex时,请删除底部的多余空间

使用drawable时如何删除按钮中的多余空间

如何使用熊猫read_csv创建循环?

使用php导入csv时跳过行

如何删除DataGrid中多余的未使用空间中的行

在熊猫中,使用read_csv()时,如何将NaN分配给非dtype预期的值?

如何在python中使用pandas read_csv自动跳过具有非浮点值的行?

如何使用PHP删除单行

如何使用MySQL在PHP中使用按钮删除行

使用AJAX和PHP时不会在数据库中删除行

尝试使用Javascript和Regexp在类似CSV的字符串中删除多余的换行符