nerdery / csv-bundle
Symfony 扩展包,用于处理 CSV 文件。
Requires
- php: >=5.3.0
- symfony/symfony: >=2.1.0
This package is not auto-updated.
Last update: 2016-03-12 15:34:57 UTC
README
这是一个在 Nerdery 内部开发用于读取、验证和解析 TSV & CSV 文件的扩展包。
安装(通过 Composer)
将以下内容添加到您的项目 composer.json 文件的 require 块中
"nerdery/csv-bundle": "v0.0.3"
基本用法
$readerOptions = array( CsvFileReaderOptions::OPTION_VALIDATION => $this->csvFileValidator, CsvFileReaderOptions::OPTION_PARSER => $this->csvFileParser, ); $csvFileReaderOptions = new CsvFileReaderOptions($readerOptions); $reader = new CsvFileReader( $csvFileReaderOptions, $this->eventDispatcher ); $dataRows = $reader->parse(PATH_TO_FILE); //Do some stuff with the data
类
CsvFileReaderOptions
该类负责配置文件读取器,设置分隔符,添加解析/验证等。
完整选项列表CsvFileReaderOptions::OPTION_LENGTH
用于指定 CSV 文件中最长行的长度。默认为
0
,表示不设置最大值。CsvFileReaderOptions::OPTION_DELIMITER
用于表示列结束和下一列开始的字符。默认为
\t
(制表符)。CsvFileReaderOptions::OPTION_ENCLOSURE
用于表示文本块的字符。默认为
"
(双引号)。CsvFileReaderOptions::OPTION_ESCAPE
用于转义保留/特殊字符的字符。默认为\
(反斜杠)。CsvFileReaderOptions::OPTION_HEADER_POLICY
指定如何处理标题的策略。默认为
选项CsvFileReaderOptions::HEADER_POLICY_SUB_DATA_OPTIONAL
CsvFileReaderOptions::HEADER_POLICY_NO_HEADER
表示正在解析的文件中没有标题。
CsvFileReaderOptions::HEADER_POLICY_DISREGARD
表示存在标题,但不进行处理。
CsvFileReaderOptions::HEADER_POLICY_SUB_DATA_OPTIONAL
带有标题处理文件。表示数据列的数量 可能 会超过标题列的数量。对于列数可变的文件很有用。
CsvFileReaderOptions::HEADER_POLICY_SUB_DATA_REQUIRED
带有标题处理文件。表示任何给定行中的数据列数量 不得 超过标题行的列数。
CsvFileReaderOptions::OPTION_USE_LABELS_AS_KEYS
是否使用标题行的标签作为行数据数组的键。默认为
true
。CsvFileReaderOptions::OPTION_VALIDATION
用于验证文件的
AbstractCsvFileRowValidator
实现。默认为null
。CsvFileReaderOptions::OPTION_PARSER
用于解析文件的
AbstractCsvFileRowParser
实现。默认为null
。
CsvFileReader
库的主要操作类。处理遍历文件,将其推入关联数组(以及调用任何添加的解析/验证)。接受 CsvFileReaderOptions
和实现 EventDispatcherInterface
的类的实例。
AbstractCsvFileRowValidator
使用指南即将发布。在此期间,请参阅类文档。
AbstractCsvFileRowParser
使用指南即将发布。在此期间,请参阅类文档。