yogarine / csv-utils
yogarine 的 CSV 工具
v1.0.1
2023-09-28 12:35 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: >=4.0.0
README
此库目前包含 CsvFile 类,它可以轻松遍历任何大小和结构的 CSV 文件。
安装
composer require "yogarine/csv-utils:^1.0"
CsvFile
CsvFile 类使得遍历任何大小的 CSV 文件变得简单。它实现了 Iterator
和 SeekableIterator
接口,因此您可以轻松地使用 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, '|');