PHP联盟/ csv Reader如何知道使用了哪个分隔符?

时间:2016-05-23 12:26:53

标签: php symfony csv vendor vendors

使用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();

编辑:我想知道的是当前读者使用了哪个分隔符。 不是csv文件本身的分隔符。

无论我用什么文件来阅读csv,它总是给出"," {昏迷} 所以我在这里问:

如何知道哪个分隔符/机箱用于解析当前的csv Reader?

我也尝试过使用getIterator()。获取默认值。

1 个答案:

答案 0 :(得分:0)

如果您使用的是最新版本的库,则只需使用文档中所述的Reader::fetchDelimitersOccurrence即可。但请注意,该方法仅返回有关您提供的建议分隔符的信息。因为该方法不可能知道正在使用哪个分隔符。结果只是需要CSV提供商确认的提示。