2016-03-29 18 views
0

Temel olarak csv dosyasından belirli satırların nasıl alınacağını merak ediyorum (dosyada 5000 satır olduğunu ve ikinci sütunun değerlerini almak istiyorum) satırlar 3023 - 3311). Bu sütun değerlerini aldıktan sonra bunları bir php dizisine koymak istiyorum. Şimdiye kadar denedim neBelirli satırları bir csv dosyasından döndürüp diziye ekle

:

$search = $this->uri->segment(3); // get the row number  
$row1 = 0; 

    if (($handle = fopen("Folder/Data.csv", "r")) !== FALSE) 
    { 
     while (($data1 = fgetcsv($handle, 1000, ",")) !== FALSE) 
     { 
      $num1 = count($data1); // number of data rows 
      $row1++; 
      for ($c=0; $c < $num1; $c++) { 



       echo $data1[$c+1]; // to return second row 


      } 
     } 
     fclose($handle); 

Ama sadece tek satır döndürür ve ben yaklaşık 200 dönmek ve bir diziye koymak gerektiğini

. Herhangi bir yardım büyük beğeni topluyor!

cevap

1

Oldukça yakınsınız. while döngünüzün için for döngüsünü çalıştırmanız gerekmez. parametreler kriterlere uyacak şekilde 50 Değişim 100. benim dizi satır ikinci sütundan değerleri içeren, yukarıdaki örnekte

$file = fopen('/path/to/file', 'r'); 

// Helps us keep tabs on the row we are on 
$rowCount = 0; 
// Array that stores all of our column values. In this case, I'll be gathering 
// values from the second column 
$secondColumnArray = array(); 
while(false !== ($rowData = fgetcsv($file))){ 
    if($rowCount >= 50 && $rowCount <= 100){ 
     array_push($secondColumnArray, $rowData[1]); 
    } 
    $rowCount = $rowCount + 1; 
} 

print_r($secondColumnArray); 

fclose($file); 

: Böyle bir şey kullanabilirsiniz.

İlgili konular