<?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的最后一行,因为我的系统正在读取最后一行数据,而我的最后一行是空的。
发布于 2015-08-04 15:37:02
如果你检查fgetcsv的documentation,你会看到关于空行返回的注释。因此,如果您在以下时间之后执行检查:
$line_of_text = fgetcsv($handle, 1024, ",");大致如下:
if (count($line_of_text) == 0 || $line_of_text[0] === null) {
continue;
}这应该可以满足您的需求。
发布于 2015-08-04 15:39:01
试试这个
<?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];
}
?>我希望它能对你有所帮助。
https://stackoverflow.com/questions/31803213
复制相似问题