deblan/csv

一个简单的PHP库,用于解析和生成CSV文件。

维护者

详细信息

gitnet.fr/deblan/csv.git

安装量: 14,590

依赖项: 1

建议者: 0

安全: 0

v3.0.0 2020-02-10 15:24 UTC

This package is not auto-updated.

Last update: 2024-09-17 17:50:40 UTC


README

Build Status

一个简单的PHP库用于

  • 解析CSV文件
  • 解析流为CSV数据
  • 生成CSV文件。

PHP >= 7.1所需。

Composer安装

$ composer require deblan/csv "~3"

或在您的composer.json中

{
    "require": {
        "deblan/csv": "~3"
    }
}

用法

生成器

use Deblan\Csv\Csv;

$csv = new Csv();

// Defines the delimiter (default is ;)
$csv->setDelimiter(";");

// Defines the enclosure (default is ")
$csv->setEnclosure('"');

// Defines the end of line (default is \n)
$csv->setEndOfLine("\n");

// Defines the charset (default is UTF-8)
$csv->setCharset("UTF-8");

// Add a new line at the end
$csv->addData(['Foo', '$1000'));

// Add a new line at the end
$csv->appendData(['Bar', '$600']);

// Add a new line at the beginning
$csv->prependData(['Boo', '$3000']);

// Defines all the datas
$csv->setDatas([[...], [...]]);

// Defines the header
$csv->setHeaders(['Product', 'Price']);

// Rendering
$result = $csv->render();

// Rendering to a file
$result = $csv->render('products.csv');

// Appending to a file
$result = $csv->render('products.csv', FILE_APPEND);

解析文件

use Deblan\Csv\CsvParser;

$csv = new CsvParser();

// Defines the delimiter (default is ;)
$csv->setDelimiter(";");

// Defines the enclosure (default is ")
$csv->setEnclosure('"');

// Defines the end of line (default is \n)
$csv->setEndOfLine("\n");

// Headers?
$csv->setHasHeaders(true);

// Parse a file
$csv->parseFile('products.csv');

// Parse a string
$csv->parseString($myString);

// Headers and datas
$headers = $csv->getHeaders();
$products = $csv->getDatas();

解析流

use Deblan\Csv\CsvStreamParser;

// CsvStreamParser is a CsvParser
$csv = new CsvStreamParser();

// Parse a stream
$csv->parseStream(fopen('products.csv', 'r'));

while ($data = $csv->getData()) {
	// ...
}