简化/csv

让读取CSV文件变得简单!

v1.1.0 2020-10-15 00:46 UTC

This package is auto-updated.

Last update: 2024-09-16 10:49:03 UTC


README

Build Status

读取分隔文件... 简化的方式!

为什么你应该使用这个?我们已经有 fgetcsv()

是的,fgetcsv() 很棒,这个包在底层使用了它 - 并增加了一些生活品质的提升。

此包的主要优势包括

  • 轻松设置要跳过的记录数(如标题)
  • 你可以给它一个列标题数组,它将返回解析的行作为关联数组。
    • 这意味着你可以使用自己定义的数组键来工作,而不是必须记住数值位置。
  • 这提供了一些基本的转换功能。
    • 自动去除所有值的前后空格。
    • 自动将空字符串转换为 null
  • 如果你提供列标题,它将比较列标题的数量与每行解析出的列数,如果你的数据缺少列,则抛出异常。
  • 以数组或JSON对象的形式返回完整的CSV。

安装

composer require simpl/csv

基本用法

<?php
use Simpl\Csv\Reader;
$csv = Reader::createFromFile('/path/to/your/file.csv');
$csv->setColumns(['name', 'address', 'phone']);
$csv->setSkipRows(1);

while($row = $csv->read())
{
    print_r($row['address']);
}

有关完整文档,请参阅 https://simpl-php.com/components/csv

测试

composer test

编码标准

此库使用 PHP_CodeSniffer 来确保遵循编码标准。

我采用了 PHP FIG PSR-2 编码标准,除了缩进规则(制表符与空格)。PSR-2 表示4个空格。我使用制表符。没有讨论。

为了支持使用制表符缩进,我定义了一个自定义的PSR-2规则集,它扩展了由PHP_CodeSniffer使用的标准 PSR-2规则集。你可以在项目的根目录中找到此规则集,名为PSR2Tabs.xml。

Codesniffer

composer codensiffer

Codefixer

composer codefixer