yogarine/csv-utils

yogarine 的 CSV 工具

v1.0.1 2023-09-28 12:35 UTC

This package is auto-updated.

Last update: 2024-08-28 14:50:46 UTC


README

此库目前包含 CsvFile 类,它可以轻松遍历任何大小和结构的 CSV 文件。

安装

composer require "yogarine/csv-utils:^1.0"

CsvFile

CsvFile 类使得遍历任何大小的 CSV 文件变得简单。它实现了 IteratorSeekableIterator 接口,因此您可以轻松地使用 foreach 循环遍历 CSV 文件。

用法

假设您有一个名为 foo.csv 的文件,其内容如下

id,name,description
0,foo,"This is a Foo"
1,bar,"This is a Bar"
2,baz,"This is a Baz"
3,qux,"This is a Qux"

您可以像这样遍历它

$csvFile = new CsvFile('foo.csv');

foreach ($csvFile as $row) {
	$id          = $row['id'];
	$name        = $row['name'];
	$description = $row['description'];
}

没有标题行

如果您的 CSV 文件没有标题行

0,foo,"This is a Foo"
1,bar,"This is a Bar"
2,baz,"This is a Baz"
3,qux,"This is a Qux"

请使用 $headerRow 参数来省略它

$csvFile = new CsvFile('foo.csv', CsvFile::HEADER_ROW_NONE);

foreach ($csvFile as $row) {
	list($id, $name, $description) = $row;
}

其他格式

其他格式,如 PSV 或 TSV 也受到支持

id|name|description
0|foo|"This is a Foo"
1|bar|"This is a Bar"
2|baz|"This is a Baz"
3|qux|"This is a Qux"
$csvFile = new CsvFile('foo.csv', 0, '|');