taranto/csv-parser

适用于 PHP7.0 或更高版本的 CSV 解析器

v1.0.0 2017-01-28 12:41 UTC

This package is not auto-updated.

Last update: 2024-09-22 11:44:22 UTC


README

Build Status Coverage Status License: MIT

CSV 解析器

易于使用的 CSV 解析器

特性

  • 将 CSV 转换为数组,并且根据第一行的单元格(标题)进行索引;
  • 自动猜测 CSV 字段分隔符;
  • 提供解析时的限制和偏移选项;
  • 作为迭代器使用时的解析性能;

要求

  • PHP 7.0 或更高版本。

安装

composer require taranto/csv-parser

使用

将 CSV 文件解析为数组

$csvParser = new CsvParser('file.csv');
$csvAsArray = $csvParser->getCsvAsArray();

将 CSV 文件解析为数组,并按第一行的单元格(标题)进行索引

$csvParser = new CsvParser('file.csv');
$csvAsArray = $csvParser->getCsvAsAssociativeArray();

性能使用(适用于大型文件)

  • 简单数组
$csvParser = new CsvParser('file.csv');
$csvAsArray = [];
foreach ($csvParser as $row) {
    $csvAsArray[] = $row;
}
  • 关联数组
$csvParser = new CsvParser('file.csv', true);
$csvAsArray = [];
foreach ($csvParser as $row) {
    $csvAsArray[] = $row;
}

示例

给定以下 CSV

| name  | birthdate   | 
| John  |  1985-02-03 | 
|  Kim  |  1976-05-04 | 
|  Suzy |  1991-04-02 |
|  Tom  |  1970-01-03 |

解析到关联数组,偏移量为 1,限制量为 2

$csvParser = new CsvParser('file.csv');
$csvAsArray = $csvParser->getCsvAsAssociativeArray(1, 2);

返回

[
    ["name" => "Kim", "birthdate" => "1976-05-04"]
    ["name" => "Suzy", "birthdate" => "1991-04-02"]
]

作者

许可证

本项目采用 MIT 许可证 - 详细信息请参阅 LICENSE.txt 文件