2011-08-11 4 views
-3

내 CSV는 다음과 같습니다PHP 및 CSV : 열이있는 일부 작업이

column1_row1;column2_row1;column3_row1;column4_row1;... column15_row1 
column1_row2;column2_row2;column3_row2;column4_row2;... column15_row2 
column1_row3;column2_row3;column3_row3;column4_row3;... column15_row3 

을 이제 모든 행에 대해 내가 찾을 수있다 :

열 (12)는 "단어"만
  • 을 포함
    1. IF 열 10 값이 열 8 값의> = 5 %

    첫 번째 줄의 경우 :

    칼럼 (4)에 포함되는 대응하는 참조 번호의 데이터베이스 테이블 "알파"에서 363,210
    1. 봐,
    2. 23 대한 포맷 0,230000 올바른 ID_NUMBER 상대 % (같은 특정 특성을 가진 일부 데이터 (행) 삽입 테이블의 다른 열 ID를 기반으로 "베타"()

    삽입, 업데이트 및로 %)은 결국 제거 : 은 동일한 절차를 수행 할뿐만 아니라, 확인 비율 변화를 등록하고 ID_NUMBER은 if에 대응하는 행을 삭제하지 않음 유사 콘텐츠 (> = 5 %)는 더 이상 확인되지 않습니다.

    편집 :

    나는 이런 식으로 뭔가 발견

    $file_handle = fopen("filename.csv", "r"); 
    
    while (!feof($file_handle)) { 
    
    $line_of_text = fgetcsv($file_handle, 1024); 
    
    print $line_of_text[0]; 
    
    } 
    
    fclose($file_handle); 
    

    을하지만 쉼표를 충족하는 경우 '는 자르고 난 후 열 값에 액세스 할 수 있고, 내가 돈 않도록해야 전체 줄이 필요하며 csv에 긴 텍스트 설명이 많이 포함되어 있다면 1024 대신 어떤 크기를 제안합니까?

  • +0

    를 그래서 무슨 문제? – KingCrunch

    +0

    문제는 PHP에서 CSV를 관리하는 데 익숙하지 않고 필요한 도움을 줄 수있는 몇 가지 도움말과 지침을 검색하는 데 사용되지 않는다는 것입니다. 덕분에 – smepie

    +5

    정확히 당신이해야 할 일을 알고있는 것처럼 들리지만, 그냥해야합니다. 설명 된 각 단계를 수행하고 해당 단계의 코드를 작성 및 테스트 한 후 완료 될 때까지 다음 부분을 추가하십시오. http://php.net/manual/en/function.fgetcsv.php –

    답변

    1

    귀하의 예를 들어, CSV는 (대신 쉼표)로 구분 세미콜론 그래서 당신은 당신의 fgetcsv을 변경해야합니다 : fgetcsv에 대해 PHP 매뉴얼에서

    $line_of_text = fgetcsv($file_handle, 1024, ';'); 
    

    :

    길이

    PHP 5에서는 선택 사항이되었습니다.이 매개 변수를 생략하거나 (PHP 5.0.4 이상에서 0으로 설정) 최대 줄 길이는 제한되지 않습니다 , 약간 느립니다. 당신의 라인처럼 보이게됩니다

    : 그 방식 fgetcsv 작동하기 때문에 사용자가 파일의 전체 라인을 필요하지 않을 수도 있지만

    $line_of_text = fgetcsv($file_handle, 0, ';'); 
    

    , 당신은 아직도 그것을 얻을 것입니다. 당신이 선 당신과 같은 필요한 필드를 사용할 수 있습니다 일단

    이 배열은 제로 인덱싱

    하므로, 컬럼 위치 0

    에있을 것입니다 :

    if ($line_of_text[11] == 'word') 
        // do something 
    
    if (($line_of_text[7] - $line_of_text[9])/$line_of_text[9] >= 0.05) 
        // do something 
    
    +0

    ok Jack, 고마워 ;-) – smepie

    관련 문제