ork/csv

一个用于读取和写入 CSV 文件的库。

2.1.0 2024-09-14 22:30 UTC

README

Ork CSV 是一个用于读取和写入 CSV 文件的库。

Latest Version PHP License PHPStan Test Status Code Coverage

安装

composer require ork/csv

读取器

Ork CSV 提供了一个读取器,可以将分隔符文件解析为数组。读取器实现为一个迭代器,每次迭代返回一行 CSV 的内容。如果文件包含带有列名的标题行,则每个返回的数组将是关联的,以标题中的名称为键。如果文件没有带有列名的标题行,则每个返回的数组将是索引的。

例如,包含标题行的文件

ID,Name,Size
1,foo,large
2,bar,small
$csv = new \Ork\Csv\Reader('/path/to/file.csv');
foreach ($csv as $row) {
    print_r($row);
}
Array
(
    [ID] => 1
    [Name] => foo
    [Size] => large
)
Array
(
    [ID] => 2
    [Name] => bar
    [Size] => small
)

不包含标题行的文件

1,foo,large
2,bar,small
$csv = new \Ork\Csv\Reader(file: '/path/to/file.csv', hasHeader: false);
foreach ($csv as $row) {
    print_r($row);
}
Array
(
    [0] => 1
    [1] => foo
    [2] => large
)
Array
(
    [0] => 2
    [1] => bar
    [2] => small
)

写入器

Ork CSV 提供了一个写入器,可以跟踪列并自动生成适当的标题行。

$csv = new \Ork\Csv\Writer('/path/to/file.csv');
$csv->write([
    'Id' => 1,
    'Name' => 'foo',
    'Size' => 'large',
]);
$csv->write([
    'Id' => 2,
    'Name' => 'bar',
    'Size' => 'small',
]);
Id,Name,Size
1,foo,large
2,bar,small

有关详细信息,请参阅 docs 目录。