联华 / supercsv
此包已被弃用且不再维护。未建议替代包。
一个简单的PHP库,用于CSV读取和写入
1.0.1
2020-04-24 07:31 UTC
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2023-05-29 01:40:22 UTC
README
一个用于PHP中CSV读取和写入的小型库
概述
一个用于读取和写入CSV文件的简单PHP库。
兼容性
此库已在PHP 7.3及以上版本中进行了测试
安装
只需在您的项目中使用composer
composer require lianhua/supercsv
如果您不使用composer,克隆或下载此仓库,您所需的所有内容都在src目录中。
用法
读取CSV文件
原始数据
假设我们有一个以下的CSV文件
A,B,C,D
E,F,G,H
创建一个新的Reader,然后,您可以使用read方法逐行读取
$csv = new \Lianhua\SuperCSV\Reader("/path/to/csv"); $csv->read(); // ["A", "B", "C", "D"] $csv->read(); // ["E", "F", "G", "H"]
您也可以使用readAll方法一次性读取整个文件
$csv = new \Lianhua\SuperCSV\Reader("/path/to/csv"); $csv->readAll(); // [["A", "B", "C", "D"], ["E", "F", "G", "H"]]
默认情况下,reader将文件视为逗号分隔,您可以直接在构造函数中更改格式,包括封装和转义字符
$csv = new \Lianhua\SuperCSV\Reader("/path/to/csv", ";", "'", "!");
带有标题
如果您的csv有标题,请确保调用getHeader方法。在读取时,reader将创建关联数组。
CSV文件
English,French
Apple,Pomme
Pear,Poire
读取
$csv = new \Lianhua\SuperCSV\Reader("/path/to/csv"); $csv->getHeader(); $csv->read(); // ["English" => "Apple", "French" => "Pomme"] $csv->read(); // ["English" => "Pear", "French" => "Poire"]
写入CSV文件
原始数据
创建一个Writer并使用write方法
$csv = new \Lianhua\SuperCSV\Writer("/path/to/csv"); $csv->write(["A", "B", "C", "D"]); $csv->write(["E", "F", "G", "H"]);
您将得到此CSV文件
A,B,C,D
E,F,G,H
您可以使用writeAll方法一次性写入所有数据
$csv = new \Lianhua\SuperCSV\Writer("/path/to/csv"); $csv->writeAll([["A", "B", "C", "D"], ["E", "F", "G", "H"]]);
默认情况下,writer将覆盖文件,如果您想追加而不是覆盖,则在第二个构造函数参数中给出false
$csv = new \Lianhua\SuperCSV\Writer("/path/to/csv", false);
当然,您也可以更改格式
$csv = new \Lianhua\SuperCSV\Writer("/path/to/csv", true, ";"); $csv->write(["A", "B", "C", "D"]); $csv->write(["E", "F", "G", "H"]);
您将得到此CSV文件
A;B;C;D
E;F;G;H
带有标题
您可以使用setHeader方法写入带有标题的csv。之后您可以给出关联数组
$csv = new \Lianhua\SuperCSV\Reader("/path/to/csv"); $csv->setHeader(["English", "French"]); $csv->write(["English" => "Apple", "French" => "Pomme"]); $csv->write(["French" => "Poire", "English" => "Pear"]);
您将得到此CSV文件
English,French
Apple,Pomme
Pear,Poire