PHP将csv列读入数组

时间:2013-07-15 12:09:39

标签: php

我有一个php函数,可以让我将csv列(COLUMN NOT LINE)读入数组或字符串吗?

提前谢谢。

4 个答案:

答案 0 :(得分:9)

$csv = array_map("str_getcsv", file("data.csv", "r")); 
$header = array_shift($csv); 
// Seperate the header from data

$col = array_search("Value", $header); 
 foreach ($csv as $row) {      
 $array[] = $row[$col]; 
}

答案 1 :(得分:5)

愿这会有所帮助。 http://www.php.net/manual/de/function.fgetcsv.php 只需抓住您想要的列的行位置。

答案 2 :(得分:2)

$arr=array();
$row = -1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);

        $row++;
        for ($c = 0; $c < $num; $c++) {
            $arr[$row][$c]= $data[$c];
        }
    }
    fclose($handle);
}

答案 3 :(得分:2)

您应该尝试fgetcsv方法。它允许您逐行读取文件并返回关联数组。此功能专门用于从CSV文件中读取。

在任何情况下,即使您只需处理一列,您也必须阅读每一行。

http://php.net/manual/en/function.fgetcsv.php