1

我正在尝试使用类似这样的功能.....

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

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

$csv_data[2] = $line;

然而,这仅显示第二(第三)行数据而不是列。问候

4

3 回答 3

0
$inputfiledelimiter = ",";    
if (($handle = fopen($PathOfCsvFile, "r")) !== FALSE) 
    {       
        while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE) 
        {
            //get data from $data
        }   
    }
于 2012-07-27T09:39:25.230 回答
0

好吧,您的 CSV 文件现在被分成几行,仅此而已。

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

或者,更好的是,让 PHP 为您执行此操作:查看 fgetcsv() 和相关函数:

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

于 2012-07-27T09:40:56.337 回答
0

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

单独处理:

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

读取整个文件后的处理:

$csv_data[$lineNo][$columnNo]

于 2012-07-27T09:46:20.640 回答