g105b / phpcsv
使用更人性化的方式包装 SplFileObject 的 CSV 功能
v1.0.3
2016-06-03 22:14 UTC
Requires (Dev)
- phpunit/phpunit: 4.5.*
This package is auto-updated.
Last update: 2024-09-19 10:48:48 UTC
README
使用更人性化的方式包装 SplFileObject 的 CSV 功能
快速功能概述
- 增强 PHP 的 SplFileObject,一个内存高效的文件流。
- 通过字段值简单过滤行 (
getAllBy("fieldName", "fieldValue")
)。 - 结果是关联数组,索引是 CSV 标题名称。
- 按行迭代 CSV 文件。
- 通过行号引用 CSV 行。
- 通过 ID 值引用 CSV 行。
操作截图
使用说明
以下是一些使用案例,以最佳展示库的功能。对于完整指南,请访问文档。
添加行
$csv = new Csv("/path/to/file.csv"); $csv->add([ "firstName" => "Alan", "lastName" => "Statham", "Job Title" => "Consultant Radiologist", ]); $csv->add([ "firstName" => "Caroline", "lastName" => "Todd", "Job Title" => "Surgical Registrar", ]);
获取行
$csv = new Csv("/path/to/file.csv"); $resultRows = $csv->getAllBy("gender", "F"); // array of all matching rows. $firstRow = $csv->getBy("gender", "F"); // single row, first matching.
按行迭代
$csv = new Csv("/path/to/file.csv"); foreach ($csv as $rowNumber => $row) { // $row is an associative array with CSV headers as each key. // $rowNumber starts from 1 (ignoring header row). }
更新行
$csv = new Csv("/path/to/file.csv"); $row = $csv->getBy("email", "barack@whitehouse.gov"); // Update the matching row with provided fields, keeping any // existing field data on the existing row. $csv->update($row, [ "dateOfBirth" => "1961-08-04", ]);
删除行
$csv = new Csv("/path/to/file.csv"); // Delete a row by its index. $csv->deleteRow(22);
未来功能想法
- 结果中仅请求某些字段(v2)
- 类型处理(v3)
- 排序(v4)
- 更快检索索引行(v4)