2012-07-27 52 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()和相關職能:

​​