При использовании league / csv для чтения файла CSV, как я могу узнать, какие элементы управления CSV были использованы для анализа файла?
Я сделал разные CSV-файлы:
Когда используешь
use League\Csv\Reader;
...
//Read csv from path
$csvReader = Reader::createFromPath( $CSVFile->path );
//get the current delimiter ? Nope always the default one ...
$this->delimiter = $csvReader->getDelimiter();
РЕДАКТИРОВАТЬ: Я хочу знать, какой разделитель использовался текущим читателем.
Не разделитель в самом файле CSV.
Какой бы файл я не использовал для чтения csv, он всегда дает «,» {coma}
Поэтому я спрашиваю здесь:
Как узнать, какой разделитель / оболочка использовались для анализа текущего csv Reader?
Я также пытался использовать getIterator (). Получить значения по умолчанию тоже.
Если вы используете последнюю версию библиотеки, вы можете просто использовать Читатель :: fetchDelimitersOccurrence как объяснено в документации. Но имейте в виду, что метод будет возвращать только информацию о предлагаемых вами разделителях. Потому что метод не может знать, какой разделитель используется. Результатом является только подсказка, которую должен подтвердить поставщик CSV.
Других решений пока нет …