2016-03-16 1 views
0

Возможно ли отфильтровать подмножество столбцов CSV с Flysystem CSV?Flysystem/CSV фильтрует подмножество столбцов

Я знаю, что вы можете использовать AbstractCsv::addFilter(callable $callback) для добавления произвольных фильтров, но я не думаю, что вы использовали бы это, чтобы удалить столбец.

ответ

0

Я решил это, получив массив позиций столбцов, которые я хотел отфильтровать. Затем, создавая новый объект CSV для записи, например,

$new = Writer::createFromFileObject(new \SplTempFileObject);

С CSV для чтения с, я использовал метод each перебирать свои ряды, построение новой строки с помощью индексов столбцов, построенных ранее и вставить в новый CSV. Не забудьте указать return true; в методе each или он не будет итерации.

$csv = $csv->newReader(); 
$csv->setOffset(1); 
$csv->each(function ($row) use ($indexes) { 
    ... do stuff to alter the row ... 
    $new->insertOne($alteredRow) 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^