keboola/csv

Keboola CSV 读取器和写入器

4.1.0 2024-01-11 09:30 UTC

README

Latest Stable Version License Total Downloads

该库根据RFC4180提供简单的CSV文件读取器和写入器。该库采用MIT许可证。该库提供CsvReaderCsvWriter类用于读取和写入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文件。