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"
]
]