jabranr/csv-parser

从文件、流或字符串中解析CSV数据

3.0.0 2019-03-04 11:48 UTC

This package is auto-updated.

Last update: 2024-09-04 23:48:42 UTC


README

PHP客户端,用于将路径、文件、流、资源或字符串中的CSV数据解析为索引或关联数组。

从v2迁移到v3

PHP支持更新到7+

安装

使用 composer 安装

#composer.json

{
  "require": {
    "jabranr/csv-parser": "^3.0"
  }
}

执行以下命令进行安装

$ comsposer install

使用方法

初始化一个新的实例

$csv = new Jabran\CSV_Parser();

单元测试

如果您已全局安装 composer,则

运行单元测试

$ cd path/to/csv-parser
$ composer run tests

如果您已全局安装 phpunit,则

$ cd path/to/csv-parser
$ phpunit

API

从字符串中获取数据

/* @param: string $str */
$csv->fromString($str);

从资源中获取数据(自v2.0.2起)

/* @param: resource $resource (f.e. resource created using fopen()) */
$csv->fromResource($resource);

从路径/URL中获取数据(自v2.0.2起)

/* @param: string $path */
$csv->fromPath($path);

解析数据以输出

/**
 * Set $headers true/false to include top/first row
 * and output an associative array
 *
 * @param: boolean $headers (Default: true)
 * @return: array
 */
$csv->parse($headers);

更有用的方法(自v2.0.2起)

/**
 * Set columns
 * @param array $columns
 * @return Jabran\CSV_Parser
 */
$csv->setColumns($columns);

/**
 * Set rows
 * @param array $rows
 * @return Jabran\CSV_Parser
 */
$csv->setRows($rows);

/**
 * Set headers
 * @param array $headers
 * @return Jabran\CSV_Parser
 */
$csv->setHeaders($headers);

/**
 * Get columns
 * @return array
 */
$csv->getColumns();

/**
 * Get rows
 * @return array
 */
$csv->getRows();

/**
 * Get headers
 * @return array
 */
$csv->getHeaders();

示例

示例输入字符串

require 'path/to/vendor/autoload.php';

$csv = new Jabran\CSV_Parser;

$str = 'id,first_name,last_name;1,Jabran,Rafique';

$csv->fromString($str);

// Output with headers:
$csv->parse();

Array(
  [id] => 1,
  [first_name] => 'Jabran',
  [last_name] => 'Rafique'
)

// Output without headers:
$csv->parse(false);

Array(
  [0] => array(
    [0] => 'id',
    [1] => 'first_name',
    [2] => 'last_name'
 ),
  [1] => array(
    [0] => 1,
    [1] => 'Jabran',
    [2] => 'Rafique'
 )
)

许可证

© 2015年起

MIT许可证 - Jabran Rafique

Analytics