PHP league/csv Reader 如何知道使用了哪个分隔符?
PHP league/csv Reader How to know which delimiter was used?
当使用league/csv读取csv文件时,我怎么知道使用了哪些csv控件来解析文件?
我制作了不同的 csv 文件:
- delimiter_colon.csv {从带有冒号分隔符的 excel 导出}
- delimiter_tab.csv {使用制表符分隔符从 excel 导出}
- delimiter_semicolon.csv {从 excel 以分号分隔符导出}
- 等...
使用时
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();
编辑: 我想知道的是当前reader使用了哪个定界符。
不是 csv 文件本身的分隔符。
无论我用什么文件读取 csv,它总是给出 "," {coma}
所以我在这里问:
如何知道哪个 delimiter/enclosure 被用来解析当前的 csv Reader?
我也尝试过使用 getIterator()。也获取默认值。
如果您使用的是最新版本的库,您只需按照文档中的说明使用 Reader::fetchDelimitersOccurrence。但请注意,该方法只会 return 有关您提供的建议分隔符的信息。因为该方法不可能知道正在使用哪个定界符。结果只是提示,需要CSV提供者确认。
当使用league/csv读取csv文件时,我怎么知道使用了哪些csv控件来解析文件?
我制作了不同的 csv 文件:
- delimiter_colon.csv {从带有冒号分隔符的 excel 导出}
- delimiter_tab.csv {使用制表符分隔符从 excel 导出}
- delimiter_semicolon.csv {从 excel 以分号分隔符导出}
- 等...
使用时
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();
编辑: 我想知道的是当前reader使用了哪个定界符。 不是 csv 文件本身的分隔符。
无论我用什么文件读取 csv,它总是给出 "," {coma} 所以我在这里问:
如何知道哪个 delimiter/enclosure 被用来解析当前的 csv Reader?
我也尝试过使用 getIterator()。也获取默认值。
如果您使用的是最新版本的库,您只需按照文档中的说明使用 Reader::fetchDelimitersOccurrence。但请注意,该方法只会 return 有关您提供的建议分隔符的信息。因为该方法不可能知道正在使用哪个定界符。结果只是提示,需要CSV提供者确认。