daleattree/csvfilehandler

一个用于加载和解析 CSV 文件的库,将每个 CSV 行作为对象返回的文件对象

1.0.12 2016-01-11 00:00 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:00:26 UTC


README

一个用于加载和解析 CSV 文件的库,将每个 CSV 行作为对象返回的文件对象(许可证:GPL-2.0)

##安装

###包含在 PHP 项目中使用 Composer

在您的 composer.json 文件中使用最新版本号或 1.0.* 添加以下内容以保持其新鲜

"require": {
  "daleattree/csvfilehandler": "1.0.*"
}

##用法

$csvFileHandler = new daleattree\CsvFileHandler\CsvFileHandler($filename, [$headerRow = true], [$delimiter = ','], [$enclosure = '"'], [$escape = '\\'], [$autoParse = true]);

###示例

####CSV 文件内容

id,greeting1,greeting2,salutation
1,"Regards, Test",hello,"there"

代码

foreach($csvFileHandler->getRecords() as $record){
  echo $record->getId() . PHP_EOL . 
  $record->getGreeting2()() . ' ' . $record->getSalutation() . PHP_EOL . 
  $record->getGreeting1() . PHP_EOL;
}

如果 CSV 文件太大,无法有效地加载到内存中,可以将 $autoParse 设置为 false,并逐行从文件中读取。

while(false !== ($row = $this->handler->readRecord())){
    //do something
}

####输出

1
hello there
Regards, Test

如果有标题行,则列名将被驼峰化,并通过 RecordObject 的 get[ColumnName] 和 set[ColumnName] 访问。如果没有标题行,则列名默认为 col[n],n 是列索引(基于零)。