keboola / csv
Keboola CSV 读取器和写入器
4.1.0
2024-01-11 09:30 UTC
Requires
- php: >=7.4
Requires (Dev)
- ext-json: *
- keboola/coding-standard: ^15.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpdoc-parser: ^1.25
- phpstan/phpstan: ^1.10
- phpunit/phpunit: >=7.5 <=9.6
This package is auto-updated.
Last update: 2024-09-16 13:41:33 UTC
README
该库根据RFC4180提供简单的CSV文件读取器和写入器。该库采用MIT许可证。该库提供CsvReader
和CsvWriter
类用于读取和写入CSV文件。这些类被设计成不可变和简约的。
使用方法
读取CSV
$csvFile = new Keboola\Csv\CsvReader(__DIR__ . '/_data/test-input.csv'); foreach($csvFile as $row) { var_dump($row); }
跳过行
跳过第一行
$csvFile = new \Keboola\Csv\CsvFile( $fileName, CsvFile::DEFAULT_DELIMITER, CsvFile::DEFAULT_ENCLOSURE, CsvFile::DEFAULT_ESCAPED_BY, 1 ) foreach($csvFile as $row) { var_dump($row); }
写入CSV
$csvFile = new Keboola\Csv\CsvWriter(__DIR__ . '/_data/test-output.csv'); $rows = [ [ 'col1', 'col2', ], [ 'first column', 'second column', ], ]; foreach ($rows as $row) { $csvFile->writeRow($row); }
追加到CSV
$fileName = __DIR__ . '/_data/test-output.csv'; $file = fopen($fileName, 'a'); $csvFile = new Keboola\Csv\CsvWriter($file); $rows = [ [ 'col1', 'col2', ], [ 'first column', 'second column', ], ]; foreach ($rows as $row) { $csvFile->writeRow($row); } fclose($file);
以Windows新行写入CSV
$csvFile = new Keboola\Csv\CsvWriter( 'test-output.csv', CsvWriter::DEFAULT_DELIMITER, CsvWriter::DEFAULT_ENCLOSURE, "\r\n" ) $rows = [ [ 'col1', 'col2', ], [ 'first column', 'second column', ], ]; foreach ($rows as $row) { $csvFile->writeRow($row); }
安装
该库作为composer包提供。要在项目中使用此库,请按照以下步骤操作
安装包
composer require keboola/csv
在引导脚本中添加自动加载器
require 'vendor/autoload.php';
在Composer文档中了解更多信息
开发
使用以下命令克隆此存储库并初始化工作区
git clone https://github.com/keboola/php-csv.git
cd php-csv
docker-compose build
docker-compose run --rm dev composer install --no-scripts
使用此命令运行测试套件
docker-compose run --rm dev composer tests
许可证
MIT许可证,请参阅LICENSE文件。