2014-09-10 4 views
-4

CSV 파일의 데이터로 대시 보드를 생성해야합니다. 샘플 CSV 파일은 다음과 같습니다.CSV 데이터에서 대시 보드 생성

  1. 09.09.14, 제임스, 제임스;
  2. 19.09.14 OK NOK
  3. 29.09.14, 짐, NOK

데이터는 다음과 같이 표현 될 필요가있다.

  1. 이름, 2014년 9월 9일, 2014년 9월 19일, 2014년 9월 29일
  2. 제임스, OK, NOK; 짐 ;;; NOK

  • 은 해당 소스 데이터 파일에서 대시 보드를 생성하는 방법을 제안 해주십시오 수 있습니다.

  • +0

    당신은 지금까지 시도 무엇? csv 파일이 이미 서버에 있습니까? 아니면 파일 업로드를 처리 할 코드를 작성하지 않았습니까? – Steve

    +1

    예 PHP에서 가능합니다. fgetcsv를 사용하여 파일을 읽을 수 있습니다. – bumperbox

    +0

    지금은 아무 것도 시작하지 않았습니다. 우선 나는 좋은 방법으로 일하고 있는지 확인하고 싶습니다. 루프가 구성하기 까다로울 수 있기 때문에 fgetcsv 솔루션과 완전히 편협하지는 않습니다.이 메서드는 complet 코드가 필요하지 않습니다. 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 in C : \ xampp \ htdocs \ Pointage \ Table2.php on line 31 ; 짐; 알림 : 31 행의 C : \ xampp \ htdocs \ Pointage \ Table2.php에 정의되지 않은 색인 : 09.09.14 ; 알림 : 정의되지 않은 색인 : 19.09.14 in C : \ xampp \ htdocs \ Pointage \ Table2.php 31 행 ; NOK10.09.14; 이 알림을 사용 중지하지 않으려합니다. –