1

使用 League/csv 读取 csv 文件时,我怎么知道使用了哪些 csv 控件来解析文件?

我制作了不同的 csv 文件:

  • delimiter_colon.csv {用冒号分隔从 excel 导出}
  • delimiter_tab.csv {从带有制表符分隔符的 excel 导出}
  • delimiter_semicolon.csv {用分号分隔符从 excel 导出}
  • ETC...

使用时

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()。也获取默认值。

4

1 回答 1

1

如果您使用的是最新版本的库,则可以按照文档中的说明简单地使用Reader::fetchDelimitersOccurrence。但请注意,该方法只会返回有关您提供的建议分隔符的信息。因为该方法不可能知道正在使用哪个分隔符。结果只是一个提示,需要 CSV 提供者确认。

于 2016-06-14T13:13:43.690 回答