从php中的CSV文件中删除空白ROWS [英] Remove Blank ROWS from CSV files in php

查看:203
本文介绍了从php中的CSV文件中删除空白ROWS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以从CSV文件中删除所有空白ROWS?



我试图计算CSV文件中的所有行,但想排除不包含特定列或整行的值。



这是我用来计算行的时间。

  $ import = file($ target_path,FILE_SKIP_EMPTY_LINES); 
$ num_rows = count($ import);
echo $ num_rows;

示例:

 code> Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell @ Gmail.Com,1990,CHEVROLET,K1500 ,, 
,,,,,,,,,,,, b $ b ,,,,,,,,,,,,, b $ b ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, b $ b Nella,Brown,111 Venna St,Princeton,TX,75407,2147177671 ,lakb @ Gmail.Com,1993,CHEVROLET,K1500 ,,
Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell @ Gmail.Com,1990,CHEVROLET,K1500 ,,
,,,,,,,,,,,,,
Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell @ Gmail.Com,1990,CHEVROLET,K1500 ,,


解决方案

  $ lines = file csv,FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); 
$ num_rows = count($ lines);
foreach($ lines as $ line){
$ csv = str_getcsv($ line);
if(empty($ csv [SPECIFIC_COLUMN])){
$ num_rows--;
}
}

如果您不想检查特定列,但只是过滤出所有列都为空的行,将其更改为:

  if(count(array_filter($ csv)) == 0){


Is it possible to remove all blank ROWS from a CSV file?

I'm trying to count all rows from a CSV file but would like to exclude lines that doesn't contain a value on a specific column or the whole row.

This is what I'm using to count the rows as of the moment.

$import = file($target_path, FILE_SKIP_EMPTY_LINES);
$num_rows = count($import);
echo $num_rows;

sample:

Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell@Gmail.Com,1990,CHEVROLET,K1500,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
Nella,Brown,111 Venna St,Princeton,TX,75407,2147177671,lakb@Gmail.Com,1993,CHEVROLET,K1500,,
Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell@Gmail.Com,1990,CHEVROLET,K1500,,
,,,,,,,,,,,,
Jun,Bronse,137 Raven,Princeton,TX,75407,2147088671,Nell@Gmail.Com,1990,CHEVROLET,K1500,,

解决方案

$lines = file("test.csv", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
$num_rows = count($lines);
foreach ($lines as $line) {
    $csv = str_getcsv($line);
    if (empty($csv[SPECIFIC_COLUMN])) {
        $num_rows--;
    }
}

If you don't want to check a specific column, but just filter out rows where all columns are empty, change it to:

    if (count(array_filter($csv)) == 0) {

这篇关于从php中的CSV文件中删除空白ROWS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆