daleattree / csvfilehandler
一个用于加载和解析 CSV 文件的库,将每个 CSV 行作为对象返回的文件对象
1.0.12
2016-01-11 00:00 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- phpunit/phpunit: 4-stable
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 是列索引(基于零)。