lazier/csv

Lazier CSV处理

v0.2.0 2021-10-31 22:21 UTC

This package is auto-updated.

Last update: 2024-08-29 05:44:23 UTC


README

Lazier CSV提供了一个简单处理CSV文件的方式。

安装

使用Composer

composer require lazier/csv

使用方法

示例

<?php

use Lazier\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 Lazier\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文件

创建CsvFile实例的options(可选)

  • useHeaderRow (默认: true) 使用第一行作为后续行的键
  • separator (默认: ,) 设置字段分隔符(仅单个字节字符)
  • enclosure (默认: ") 设置字段封装字符(仅单个字节字符)
  • escape (默认: \) 设置转义字符(单个字节字符)

修改CSV

<?php

use Lazier\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');

// You can also output the CSV contents this way:
echo $csvFile->asString();