tiisy / csv
简单的CSV文件处理。从字符串、文件、资源或URL读取CSV文件。
v0.3.0
2023-08-31 07:27 UTC
Requires
- php: >=8.0
Requires (Dev)
- jangregor/phpstan-prophecy: ^0.8.1
- phpspec/prophecy: ^1.14
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^0.12.99
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
README
Tiisy CSV 提供了一种简单处理CSV文件的方法。
优点
- 可以使用标题行逻辑将CSV文件视为关联数组(
useHeaderRow: true
) - 使用PHP的本地
fgetcsv
和fputcsv
- 无依赖
- 框架无关
- 简单至上(易于维护和贡献)
- 经过良好测试
安装
使用Composer
composer require tiisy/csv
用法
示例
<?php use Tiisy\Csv\CsvFile; foreach(CsvFile::createFromString("id,name\n1,foo\n2,bar") as $row => $data) { echo $data['id'] . ': ' . $data['name'] . PHP_EOL; } // will output: // 1: foo // 2: bar
创建CsvFile实例
示例
<?php use Tiisy\Csv\CsvFile; foreach(CsvFile::createFromFile('example.csv', useHeaderRow: false) as $data) { echo $data[0] . ': ' . $data[1]; }
创建CsvFile
实例的方法
create(<options>)
– 创建一个空CSV文件createFromArray(array $data)
– 使用给定的数据创建CSV文件createFromFile(string $filename, <options>)
– 通过给定的文件加载CSV文件createFromResource(resource $handle, <options>)
– 通过给定的资源加载CSV文件createFromString(string $input, <options>)
– 通过给定的字符串加载CSV文件createFromUrl(string $url, <options>)
– 通过给定的URL加载CSV文件createFromGoogleSpreadsheetId(string $spreadsheetId, <options>)
– 通过给定的Google电子表格ID加载CSV文件
创建CsvFile
实例的options(可选)
useHeaderRow
(默认:true
) 使用第一行作为后续行的键separator
(默认:,
) 设置字段分隔符(仅单字节字符)enclosure
(默认:"
) 设置字段封装字符(仅单字节字符)escape
(默认:\
) 设置转义字符(单字节字符)
修改CSV
<?php use Tiisy\Csv\CsvFile; $csvFile = CsvFile::createFromArray([ ['id' => '1', 'name' => 'Nina'], ['id' => '2', 'name' => 'Angela'], ]); $csvFile->add(['id' => '3', 'name' => 'John']); // You can save your modified CSV file this way: $csvFile->saveAs('names.csv');