在php中选择和操作各个CSV列

时间:2012-07-27 09:30:19

标签: php codeigniter csv

我正在尝试使用类似这样的函数.....

$file = fopen("/tmp/$importedFile.csv","r");
    while ($line =  fgetcsv($file))
        {
        $csv_data[] = $line;
        }
    fclose($file);

...加载CSV值。这是肉汁,但现在我希望按其数组编号选择单个列。我相信我想用这样的东西选择它,但是找不到任何清晰度。

$csv_data[2] = $line;

然而,这仅显示第二行(第三行)而不是列。 此致

3 个答案:

答案 0 :(得分:0)

$inputfiledelimiter = ",";    
if (($handle = fopen($PathOfCsvFile, "r")) !== FALSE) 
    {       
        while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE) 
        {
            //get data from $data
        }   
    }

答案 1 :(得分:0)

好吧,你的CSV文件现在被分成几行,就是全部。

在该结构中还没有列的概念。 因此,您需要将行拆分为列。

或者,更好的是,让PHP为您做到这一点:看看fgetcsv()和相关的函数:

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

答案 2 :(得分:0)

您是需要内存中的整个文件还是单独处理这些行?

单独处理:

$line已经是一个数组。如果您想要第3列,请使用$line[2]

阅读完整个文件后的处理:

$csv_data[$lineNo][$columnNo]