jensostertag / csvreader
PHP CSV 文件读取库
1.0.0
2023-07-15 15:39 UTC
Requires
- php: >=8.0.0
This package is not auto-updated.
Last update: 2024-09-23 17:37:32 UTC
README
这是一个易于读取 CSV 文件的 PHP 库。
安装
要安装此库,请使用 composer 将其包含到您的项目中
{ "require": { "jensostertag/csvreader": "1.0.0" } }
用法
读取 CSV 文件中的所有条目
要从 CSV 文件中读取所有条目,请使用以下代码
$csvReader = new CSVReader(); // CSV Reader Options $csvReader->setFile("path/to/file.csv") ->setHeader(false) ->setDelimiter(";") ->setMaxLineLength(null) ->read(); // Get the CSV Data $data = $csvReader->getData();
您可以使用 setHeader(bool $header)
方法来指定 CSV 文件是否包含标题。如果该方法使用 true
作为参数调用,则第一行将被跳过且不会返回到 $data
数组中。默认情况下,假定没有标题。
除了显式设置分隔符外,您还可以使用 detectDelimiter()
方法。此方法使用 CSV 文件的第一行来检测 ,
、;
、\t
或 |
中哪一个出现频率最高,并将其用作分隔符。
警告:如果 CSV 文件的第一行中
,
、;
、\t
或|
的出现频率高于实际分隔符,则该方法将无法检测到正确的分隔符。
例如,如果 CSV 文件如下所示
name;age;city
Alice;25;New York
Bob;30;London
Charlie;20;Berlin
David;35;Paris
Frank;40;Tokyo
返回的 $data
数组将是
[ [ "name", "age", "city" ], [ "Alice", "25", "New York" ], [ "Bob", "30", "London" ], [ "Charlie", "20", "Berlin" ], [ "David", "35", "Paris" ], [ "Frank", "40", "Tokyo" ] ]
如果您使用 true
作为参数调用 setHeader(bool $header)
方法,则第一行的内容将不会包含在 $data
数组中
[ [ "Alice", "25", "New York" ], [ "Bob", "30", "London" ], [ "Charlie", "20", "Berlin" ], [ "David", "35", "Paris" ], [ "Frank", "40", "Tokyo" ] ]