2012-07-27 49 views
1

我想多用这样的函数操作单个CSV列.....选择和PHP

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

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

$csv_data[2] = $line; 

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

回答

0

你需要在内存中的整个文件还是要被处理线条单独?

处理单独:

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

处理读取整个文件后:

$csv_data[$lineNo][$columnNo]

+0

这似乎是正确的,并且已经发现,这样做产生的结果,但是各行现在只包含字“数组”。你能帮我解决我明显失踪的问题吗?道歉。 – 2012-07-27 10:00:06

+0

只需要$ i = 0 $ $ i ++任一方。 – 2012-07-27 11:00:45

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

那么,你的CSV文件现在拆分中的行,仅此而已。

该结构中还没有列的概念。 所以你需要将行分成列。

或者更好,让PHP为你做的:有一个在fgetcsv()和相关职能:

​​