phillipsdata/csv
Composer 安装命令:
composer require phillipsdata/csv
包简介
CSV Reader and Writer
关键字:
README 文档
README
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 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phillipsdata/csv 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Easy to use SDK with grabber for multiple platforms at once like YouTube, Dailymotion, Facebook and more.
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
An MT940 bank statement parser for PHP
Laravel integration for the jsonapi.org parser
Laravel Media Popup to upload/view the files
laravel facade to read/write csv file
统计信息
- 总下载量: 959
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 33
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-02-23