定制 phillipsdata/csv 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phillipsdata/csv

Composer 安装命令:

composer require phillipsdata/csv

包简介

CSV Reader and Writer

README 文档

README

Build Status Coverage Status

A CSV reader and writer with no external dependencies, that allows just in time formatting and filtering, and operates on files as well as streams.

Install

composer require phillipsdata/csv

Basic Usage

Reading a CSV

<?php

use PhillipsData\Csv\Reader;

// Set the input for the reader
$reader = Reader::input(new SplFileObject('php://stdin'));

$lines = [];
// Fetch the result for each line read
foreach ($reader->fetch() as $line) {
    $lines[] = $line;
}

Writing a CSV

<?php

use PhillipsData\Csv\Writer;

$writer = Writer::output(new SplFileObject('/path/to/file.csv'));

$data = [
    ['colA', 'colB'],
    ['A1', 'B1'],
    ['A2', 'B2']
];

// Write all rows (works great with Iterators)
$writer->write($data);

// Or, write a single row at a time
foreach ($data as $row) {
    $writer->writeRow($row);
}

Factories

<?php

use PhillipsData\Csv\Factory;

// returns \PhillipsData\Csv\Writer
$writer = Factory::writer('path/to/file', ',', '"', '\\');

// returns \PhillipsData\Csv\Reader
$reader = Factory::reader('path/to/file', ',', '"', '\\');

Formatting and Filtering

Formatting and Filtering work for both reading and writing.

To format data while iterating, simply specify the format callback function.

// The formatter is called for each line parsed
$reader->format(function ($line, $key, $iterator) {
    return [
        'first_name' => $line['First Name'],
        'last_name' => $line['Last Name'],
        'email' => strtolower($line['Email']),
        'date' => date('c', strtotime($line['Date']))
    ];
});

foreach ($reader->fetch() as $line) {
    // $line now contains 'first_name', 'last_name', 'email', and 'date'.
}

To filter data while iterating, simply specify the filter callback function.

// The formatter is called for each line parsed
$reader->filter(function ($line, $key, $iterator) {
    return $line['Last Name'] === 'Smith';
});

foreach ($reader->fetch() as $line) {
    // $line only contains records where $line['Last Name'] === 'Smith'
}

phillipsdata/csv 适用场景与选型建议

phillipsdata/csv 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 959 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 02 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「file」 「csv」 「parser」 「tab」 「delimited」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 phillipsdata/csv 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 phillipsdata/csv 我们能提供哪些服务?
定制开发 / 二次开发

基于 phillipsdata/csv 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 959
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 33
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 4
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-02-23