foued611/parsecsv

PHP CSV 数据解析器

维护者

详细信息

github.com/foued611/parsecsv

源代码

安装: 20

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 176

v2.0.1 2014-09-16 10:03 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:37:13 UTC


README

注意:parseCSV 正在修订以符合 PHP 5 标准。如果您有任何问题或功能请求,我们鼓励您打开一个问题。

parseCSV 是一个易于使用的 PHP 类,可以正确地读取和写入 CSV 数据。它完全符合维基百科上概述的规范(英文)。它具有许多高级功能,可以帮助您轻松处理 CSV 数据。

这个库最初由 jimeh 在 2007 年初创建,因为当时 PHP 中处理 CSV 数据的内置和第三方支持不足。

安装

使用 Composer 安装。

在您的 composer.json 中包含以下内容

 "foued611/parsecsv": "dev-master"

psr-0 命名空间自动加载。

use Parse\Csv\ParseCSV;

您也可以手动包含 ParseCSV.php 文件

require_once ('parsecsv/src/Parse/Csv/ParseInterface.php');
require_once ('parsecsv/src/Parse/csv/ParseCSV.php');

功能

  • ParseCSV 是 PHP 中唯一完整且功能齐全的 CSV 解决方案(据我所知)。
  • 支持封装值、封装逗号、双引号和新行。
  • 自动检测分隔符字符。
  • 按特定字段/列排序数据。
  • 轻松数据操作。
  • 基本 SQL-like 条件偏移量限制 选项用于过滤数据。
  • 检测格式不正确的输入错误。它试图智能处理,但由于 CSV 的结构和像 Excel 这样的程序如何输出 CSV 数据,因此不能完全信赖 100%。
  • 支持使用 PHP 的 iconv 函数进行字符编码转换(需要 PHP 5.4)。
  • 支持 PHP 5.4

示例用法

一般

$csv = new ParseCSV('data.csv');
print_r($csv->data);

制表符分隔符和编码转换

$csv = new \Parse\Csv\ParseCSV();
$csv->encoding('UTF-16', 'UTF-8');
$csv->delimiter = "\t";
$csv->parse('data.tsv');
print_r($csv->data);

自动检测分隔符字符

$csv = new ParseCSV();
$csv->auto('data.csv');
print_r($csv->data);

修改 CSV 文件中的数据

$csv = new \Parse\Csv\ParseCSV();
$csv->sort_by = 'id';
$csv->parse('data.csv');
# "4" is the value of the "id" column of the CSV row
$csv->data[4] = array('firstname' => 'John', 'lastname' => 'Doe', 'email' => 'john@doe.com');
$csv->save();

将行/条目添加到 CSV 文件的末尾

仅在您知道文件的确切结构时才推荐使用。

$csv = new ParseCSV();
$csv->save('data.csv', array('1986', 'Home', 'Nowhere', ''), true);

将二维数组转换为 CSV 数据,并发送标题到浏览器以将输出作为文件下载

$csv = new ParseCSV();
$csv->output('movies.csv', $array, array('field 1', 'field 2'), ',');

许可证

(MIT 许可证)

版权(c)2014 Jim Myhrberg。

特此授予任何获得本软件及其相关文档文件(“软件”)副本的任何人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件提供者使用该软件,受以下条件的约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任(无论因合同、侵权或其他方式引起)承担责任,即使已事先通知此类索赔、损害或其他责任的可能性。