PHP 以数组形式读取特定的 csv 文件列

标签 php csv fgetcsv

我是 PHP 新手,希望能够读取包含两列的 csv 文件,一列是数字(有点像 ID),另一列包含整数值。我查找了 fgetcsv 函数,但无法找到从 csv 文件中读取特定列的方法。

我只想从第二列获取所有值,不带标题。

有什么办法吗?

这是我目前所拥有的:

$file = fopen('data.csv', 'r');
$line = fgetcsv($file);

这是 csv 文件中的一些示例数据:

ID,Value
1,243.00
2,243.00
3,243.00
4,243.00
5,123.11
6,243.00
7,180.00
8,55.00
9,243.00

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

fgetcsv() 一次只读取文件的一行。您必须循环读取文件才能全部获取:

$data = array();
while($row = fgetcsv($file)) {
   $data[] = $row;
}

您可以通过在循环外执行 fgetcsv 来跳过标题,以读取/清除标题值。如果你只想要第二列,你可以这样做:

   $data[] = $row[1];

但是,由于您已经在其中获取了数据,因此保留它可能会有用,并在 csv 中使用 ID 值键入您的新数组,这样您还可以:

   $data[$row[0]] = $row[1];

然后您漂亮 Shiny 的新数组将与 csv 中的内容几乎完全匹配,但作为由 ID 字段键入的数组。

关于PHP 以数组形式读取特定的 csv 文件列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009023/

相关文章:

java - 如何使用类路径指定文件位置?

php - 读取 CSV,但创建包含行的单个数组,而不是多维数组?

php - 在 PHP 中处理 csv 文件时如何指定编码?

php - 在我删除 softDelete 后,Laravel 仍然希望找到 deleted_at 列

php - 从 PDO 获取查询更新多行

Python - 用于从 CSV 文件中的整行中删除引号的正则表达式

php - 使用 curl 作为 fgetcsv 的 fopen 文件资源的替代方法

php - 从视频中获取缩略图图像不适用于 PHP 和 ffmpeg (Ubuntu)

php - 使用 PDO : Syntax Error 更新表

json - 在 SSIS 中读取包含 JSON 列的 csv 文件?