php - 将 CSV 中的特定列读取到数组

标签 php fgetcsv

我正在尝试读取 csv 文件中的某些数据并将其传输到数组。我想要的是获取某一列的所有数据,但我想从某一行开始(例如,第 5 行),有没有可能的方法呢?我现在只获取特定列中的所有数据,想在第 5 行开始,但想不出任何办法。希望你们能帮帮我。谢谢!

<?php

//this is column C
$col = 2;

// open file
$file = fopen("example.csv","r");

while(! feof($file))
{
    echo fgetcsv($file)[$col];
}

// close connection
fclose($file);

?>

最佳答案

是的,您可以定义一些标志来计算行数。看看下面的解决方案。它将从第 5 行开始打印,您也可以通过其索引访问列。例如。对于第二列,您可以使用 $row[1]

$start_row = 5; //define start row
$i = 1; //define row count flag
$file = fopen("myfile.csv", "r");
while (($row = fgetcsv($file)) !== FALSE) {
    if($i >= $start_row) {
        print_r($row);
        //do your stuff
    }
    $i++;
}

// close file
fclose($file);

关于php - 将 CSV 中的特定列读取到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740176/

相关文章:

php - 使用 PHP 读取 CSV 文件时字符串长度不正确

php - 使用php将CSV文件加载到mysql数据库中

java - 小型 JSP 应用程序不起作用

php - 撇号破坏了我在 PHP 中的 mysql 查询

PHP fgetcsv() 分隔符

php - fGetCsv 只读第一行?

php - 使用 fgetcsv 在浏览器中启用提取和显示外语内容

php - 在 JSON-String 上与 PDO 一起使用

php - Laravel 失败的作业到 Redis

php - 为什么网站在线时我的后台不工作?