2015-12-04 3 views
-1

Я хотел бы обратиться за помощью к этой задаче. У меня большой CSV, и я хочу разобрать его по столбцу (и как-нибудь проанализировать каждый столбец). Моя идея заключается в том, как это, но он не работает (после того, как массив не установлен, я не могу нажать на нее больше):PHP - разбор столбцов CSV по столбцам

$a = 0; 
    while ($a < COUNT_OF_COLUMNS) { 
     $column = Array(); 
     while (($data = fgetcsv($handle, $filesize, "$")) !== false) { 
      array_push($column,$data[$a]); 
     } 

     $a++; 
    } 

Любая помощь будет признателен Спасибо всем

+0

Можете ли вы совместить этот вопрос с предыдущим? http://stackoverflow.com/questions/34078183/php-parse-large-csv-into-array-of-arrays-memory-size-exhausted?rq=1 Они действительно то же самое. – willoller

ответ

0

массив Массивы не являясь ответом, попробуйте следующее:

$a = 0; 
$results = array(); 

while ($a < COUNT_OF_COLUMNS) { 
    $column = Array(); 
    while (($data = fgetcsv($handle, $filesize, "$")) !== false) { 
     array_push($column,$data[$a]); 
    } 

    $results[] = do_your_analysis_here($column); 

    $a++; 
} 
+0

Я не могу использовать массив массивов, CSV настолько велик, что я получаю утечку памяти. Мне нужно загрузить один столбец, проанализировать его и выбросить. –

+0

В этом случае вы должны просто проанализировать столбец после того, как цикл 'while {}' закрывается, прежде чем вы '$ a ++' – willoller

+0

Хорошо, а потом что? У меня все равно будет массив массивов :( –

Смежные вопросы