6

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

先感谢您。

4

4 回答 4

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

$col = array_search("Value", $header, true); 
 foreach ($csv as $row) {      
 $array[] = $row[$col]; 
}
于 2013-07-15T12:12:40.223 回答
4

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

于 2013-07-15T12:15:23.587 回答
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);
}
于 2013-07-15T12:19:51.107 回答
2

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

无论如何,即使您只需要处理一列,您也必须阅读每一行。

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

于 2013-07-15T12:20:08.763 回答