使用PHP从CSV文件中删除重复项

时间:2015-12-23 11:04:01

标签: php csv duplicates

首先我加载 PHPExcel.php

其次,我正在使用此代码:

    $location = '/path/file.csv';



    $inputFileType = 'CSV';
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcel = $objReader->load($location);

                $worksheet = $objPHPExcel->getActiveSheet();
                $list = array();
                foreach ($worksheet->getRowIterator() as $row) 
                {
                    $rowIndex = $row->getRowIndex();
                    $cellValue = $worksheet->getCell('A'.$rowIndex)->getValue();
                    array_push($list, $cellValue);       
                }
                $count = count($list);
                for ($rowIndex = $count; $rowIndex != 1; $rowIndex--) 
                {
                    $cellValue = $worksheet->getCell('A'.$rowIndex)->getValue();
                    for ($i = $rowIndex - 2; $i != 0; $i--) 
{
                        if ($list[$i] == $cellValue) 
                        {
                            $worksheet->removeRow($rowIndex);
                            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
                            $objWriter->save($location);
                            break;  
                        }
                    }
                }

因此,我想在第一列中存在重复值时删除行。代码不起作用。当我第一次用腻子运行时,我不得不等待多年。我打断了这个过程然后再次运行它。然后它运行,但在我的csv文件中我有错误的结果(重复是300但我得到-600行)。

1 个答案:

答案 0 :(得分:1)

要阅读CSV文件,您不必使用PHPExcel。相反,你可以使用像这样的本机PHP代码:

<script></script>

此代码未经测试但应该可以使用。 这将为您提供包含所有唯一条目的.csv文件。