是否可以使用飞行系统CSV过滤CSV的列子集?
我知道您可以使用AbstractCsv::addFilter(callable $callback)添加任意筛选器,但我不认为您会使用它删除列。
发布于 2016-03-16 16:14:19
我通过获取一个列位置数组来解决这个问题,我想要过滤掉这些位置。然后,通过设置一个要写入的新CSV对象。
$new = Writer::createFromFileObject(new \SplTempFileObject);
使用要读取的CSV,我使用each方法迭代其行,使用前面构建的列索引构建一个新行,并插入到新的CSV中。记住在return true;方法中使用each,否则它不会迭代。
$csv = $csv->newReader();
$csv->setOffset(1);
$csv->each(function ($row) use ($new) {
... do stuff to alter the row ...
$new->insertOne($alteredRow)
});https://stackoverflow.com/questions/36037953
复制相似问题