tomaj/csv-processor

CSV处理器

0.1.0 2015-05-15 09:06 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:03:33 UTC


README

csv文件处理库

开发模式快速运行 - 不推荐使用,目前仅从项目中提取,依赖关系尚未定义良好

Build Status Code Climate Test Coverage Dependency Status

Latest Stable Version Total Downloads Latest Unstable Version License

使用方法

每个导入由3部分组成。

  1. 提取器 - 目前有2个,用于csv和zip文件。其任务是读取输入数据
  2. 处理器 - 需要设置字段的单个处理器所在的类。
  3. 实现包含读取和处理后数据的业务逻辑。

实际使用可能如下所示

use Tomaj\CsvProcessor\CsvExtractor;
use Tomaj\CsvProcessor\DataProcessor;
use Tomaj\CsvProcessor\Converters\EncodingConverter;
use Tomaj\CsvProcessor\Processors\PassField;
use Tomaj\CsvProcessor\Processors\RemoveField;
use Tomaj\CsvProcessor\Line;

$csvExtractor = new CsvExtractor('cesta_k_suboru_.csv', ';');
$csvExtractor->addConverter(new EncodingConverter('WINDOWS-1250', 'UTF-8')); // mozme nastavit konverziu ak treba
$data = $csvExtractor->loadData();

$processor = new DataProcessor($output);
$processor->addProcessor(new PassField('field_name', 'name')); // field 'file_name' z csvcka sa do vystupu dostane ako field 'name'
$processor->addProcessor(new RemoveField('field_ktory_sa_zmaze'));
$processor->processData($data, function(Line $line, $pid)) {
	// tu je mozne naimlementovat logiku co sa ma stat s $line kde su spracovane data
});