2014-09-10 2 views
-4

Мне нужно создать приборную панель с данными из файла CSV. Пример файла CSV будет выглядеть следующим образом.Сгенерировать приборную панель из данных CSV

  1. 09.09.14, Джеймс, OK
  2. 19.09.14; Джеймс, NOK
  3. 29.09.14, Джим, NOK

Данные должны быть оказаны как следует.

  1. Имя; 09.09.2014; 19.09.2014; 29.09.2014
  2. Джеймс; OK; NOK;
  3. Джим ;;; NOK

Можете ли вы предложить метод для создания приборной панели из этого файла исходных данных.

+0

Что вы пробовали до сих пор? Является ли файл csv уже на сервере или же вы пишете код для обработки загрузки файлов? – Steve

+1

Да, это возможно в php, вы можете начать с чтения файла с помощью fgetcsv – bumperbox

+0

Я ничего не начал на данный момент. Сначала я хотел бы быть уверенным, что я работаю над хорошим способом. Я не полностью поддерживаю решение fgetcsv, потому что петли могут быть сложными для организации. Мне не нужен код завершения, потому что этот метод. CSV-файл уже находится на сервере. –

ответ

0

Это может обрабатываться php-массивом. Ниже приведен полный рабочий код для вашего требования.

<pre> 
<?php 

$filename = 'data.csv'; 
$contents = file($filename); 

$col[] = "Name"; 

foreach($contents as $line) { 
    $line = preg_replace("/\r|\n/", "", $line); 
    $line_array = explode(";",$line); 
    if(!in_array($line_array[0],$col)){ 
     $col[] = $line_array[0]; 
    } 
    $row[$line_array[1]][$line_array[0]]=$line_array[2]; 
} 

foreach($col as $val) 
{ 
    echo $val . ";"; 
} 

echo "\n"; 
unset($col[0]); 

foreach($row as $key=>$row_val) 
{ 
    echo $key . ";"; 
    foreach($col as $col_val) 
    { 
     if(!isset($row_val[$col_val])) 
     { 
      $row_val[$col_val] = ""; 
     } 
     echo $row_val[$col_val] . ";"; 
    } 
    echo "\n"; 
} 
?> 

И работая образец можно посмотреть здесь: http://sugunan.net/demo/csv.php

+0

Пока это файл, я не уверен, что это «панель мониторинга», о которой спрашивал OP, - сказал, что вопрос не подходит для SO в состоянии, в котором он был. – Fluffeh

+0

Вопрос не ясен, нужен ли он для вывода на веб-страницу или другой CSV. Если он захочет это на столе или json, это также может быть сделано путем изменения кода. Единственное, что я пытаюсь сделать здесь, чтобы принять мудрую дату и состояние строки для человека, взятого в мудрый день и разумный человек. – sugunan

+1

Спасибо, Гуру, спасибо вам, я близок к концу. Он работает, но у меня есть это сообщение об ошибке: Name; 09.09.14; 19.09.14; 29.09.14; James, OK; NOK; Примечание: Неопределенный индекс: 29.09.14 в C: \ xampp \ htdocs \ Pointage \ Table2.php в строке 31 ; Джим; Примечание: Неопределенный индекс: 09.09.14 в C: \ xampp \ htdocs \ Pointage \ Table2.php в строке 31 ; Примечание: Неопределенный индекс: 19.09.14 в C: \ xampp \ htdocs \ Pointage \ Table2.php в строке 31 ; NOK10.09.14; и я не хочу отключать этот вид уведомления –

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