簡體   English   中英

如何刪除CSV文件的最后一行

[英]How to remove the last line of CSV file

<?php


                $row = 0;
                $handle = fopen("data20150804.log", "r");
                while (!feof($handle) ) {

                    $line_of_text = fgetcsv($handle, 1024, ",");
                    $num = count($line_of_text);
                    $timeStamp = $line_of_text[0];
                    $visibility = $line_of_text[1]; 
                    $pressure = $line_of_text[2];
                    $rain = $line_of_text[3];
                    $temperature = $line_of_text[4];    
                    $humidity = $line_of_text[5];
                    $dewpoint = $line_of_text[6];
                    $R1windSpeed = $line_of_text[7];    
                    $R1wSpeed3s = $line_of_text[8];
                    $R1wSpeed2min = $line_of_text[9];   
                    $R1wSpeed10min = $line_of_text[10];
                    $R1windDirDeg = $line_of_text[11];
                    $R1wDirDeg3s = $line_of_text[12];   
                    $R1wDirDeg2min = $line_of_text[13];
                    $R1wDirDeg10min = $line_of_text[14];
                    $R2windSpeed = $line_of_text[15];   
                    $R2wSpeed3s = $line_of_text[16];
                    $R2wSpeed2min = $line_of_text[17];  
                    $R2wSpeed10min = $line_of_text[18];
                    $R2windDirDeg = $line_of_text[19];
                    $R2wDirDeg3s = $line_of_text[20];   
                    $R2wDirDeg2min = $line_of_text[21];
                    $R2wDirDeg10min = $line_of_text[22];                        
                    $gust = $line_of_text[23];  


                    //$row++;
                }

                fclose($handle);
   ?>

我的csv文件在幾秒鍾內不斷生成數據。 我想刪除csv的最后一行,因為我的系統正在讀取最后一行的數據,而我的最后一行是空白的。

如果您查看fgetcsv的文檔 ,則會看到有關空行返回的注釋。 因此,如果您在之后進行檢查:

$line_of_text = fgetcsv($handle, 1024, ",");

遵循以下原則:

if (count($line_of_text) == 0 || $line_of_text[0] === null) {
    continue;
}

這應該做您需要的。

試試這個

<?php
$row = 0;
$file = new SplFileObject("data20150804.log.csv");

$file->setFlags(SplFileObject::READ_CSV);
$file->setFlags(SplFileObject::SKIP_EMPTY);
foreach ($file as $line_of_text) {
    $num = count($line_of_text);
                    $timeStamp = $line_of_text[0];
                    $visibility = $line_of_text[1]; 
                    $pressure = $line_of_text[2];
                    $rain = $line_of_text[3];
                    $temperature = $line_of_text[4];    
                    $humidity = $line_of_text[5];
                    $dewpoint = $line_of_text[6];
                    $R1windSpeed = $line_of_text[7];    
                    $R1wSpeed3s = $line_of_text[8];
                    $R1wSpeed2min = $line_of_text[9];   
                    $R1wSpeed10min = $line_of_text[10];
                    $R1windDirDeg = $line_of_text[11];
                    $R1wDirDeg3s = $line_of_text[12];   
                    $R1wDirDeg2min = $line_of_text[13];
                    $R1wDirDeg10min = $line_of_text[14];
                    $R2windSpeed = $line_of_text[15];   
                    $R2wSpeed3s = $line_of_text[16];
                    $R2wSpeed2min = $line_of_text[17];  
                    $R2wSpeed10min = $line_of_text[18];
                    $R2windDirDeg = $line_of_text[19];
                    $R2wDirDeg3s = $line_of_text[20];   
                    $R2wDirDeg2min = $line_of_text[21];
                    $R2wDirDeg10min = $line_of_text[22];                        
                    $gust = $line_of_text[23];
}
?>

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM