【发布时间】:2016-03-29 19:16:57
【问题描述】:
首先我加载 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 行)。
【问题讨论】:
-
好像逻辑有问题,不是phpexcel lib或csv读写过程相关的技术问题,可以通过csv吗?如果不介意。我可以使用 csv 来玩代码。
-
我的 2 美分:如果您有一个已经使用的数据库,为什么不导入并在那里进行进一步处理呢?数据库比将它们从 CSV 转换为 CSV 更适合数据处理...
标签: php csv duplicates