unicframework / csv-parser
CSVParser可以将csv数据解析为数组、对象和json格式。
v1.1.1
2021-05-13 05:27 UTC
Requires
- php: >=5.6
README
CSVParser库可以将csv数据解析为数组、对象和json格式。CSVParser还可以将数组、对象、json转换为csv格式。
特性
- 解析来自csv文件、数组、json和对象的文本数据。
- 解析csv为数组,将数组解析为csv。
- 解析csv为对象,将对象解析为csv。
- 解析csv为json,将json解析为csv。
- 为csv文件设置自定义头。
安装
- 如果您尚未安装,请安装
composer
。
composer require unicframework/csv-parser
解析数据
use CSVParser\CSV; $csv = new CSV(); //Parse data from csv file $csv->parse('data.csv'); //Parse array data $csv->parse($arrayData); //Parse object data $csv->parse($jsonData); //Parse json data $csv->parse($objectData);
获取解析数据
//Get header $header = $csv->getHeader(); //Get parsed data to array format $data = $csv->toArray(); //Select data from parsed data $data = $csv->toArray(['Name', 'Email']); //Get parsed data to object format $data = $csv->toObject(); //Select data from parsed data $data = $csv->toObject(['Name', 'Email']); //Get parsed data to json format $data = $csv->toJson(); //Select data from parsed data $data = $csv->toJson(['Name', 'Email']); //Get parsed data to csv format $data = $csv->toCsv(); //Select data from parsed data $data = $csv->toCsv(['Name', 'Email']);
获取行数
//Get row count $rows = $csv->rowCount(); //Get header count $cols = $csv->headerCount();
选择数据限制
//Select 10 records $csv->limit(10); $data = $csv->toArray(); //Select from 5 to 10 records $csv->limit(5, 10); $data = $csv->toArray();
设置CSV头
//Ignore header from csv file $csv->ignoreHeader(true); //Ignore csv header cse $csv->ignoreHeaderCase(true); //Ignore csv enclosure $csv->ignoreEnclosure(true); //Set header offset of csv file $csv->headerOffset(0); //Set custom header to csv file $csv->setHeader(['Name', 'Email']);
设置CSV分隔符
默认的csv分隔符是,
,但我们可以为csv文件设置其他分隔符。
//Set delimiter $csv->setDelimiter('|'); //Set enclosure $csv->setEnclosure('"'); //Set escape character $csv->setEscape('//'); //Parse csv file data $csv->parse('data.csv'); //Get data from parsed data $data = $csv->toArray();
聚合函数
//Parse csv file data $csv->parse('data.csv'); //Get total sum of given field $total_price = $csv->sum('price'); //Get minimum from given field $min_price = $csv->min('price'); //Get maximum from given field $max_price = $csv->max('price'); //Get average of given field $average_price = $csv->average('price');