美好的一天 我有一个csv文件,我想读取并计算总时间。 我需要的唯一时间是,如果最后一列时间差异超过2分钟。 该文件看起来像:
L1,is,2.0,mins,LATE,for,Arrive,at,shop,18:07:46
L1,is,4.0,mins,LATE,for,Arrive,at,shop,18:09:46
L1,is,6.0,mins,LATE,for,Arrive,at,shop,18:11:46
L1,is,8.0,mins,LATE,for,Arrive,at,shop,18:13:46
L1,is,10.0,mins,LATE,for,Arrive,at,shop,18:15:46
L1,is,2.0,mins,LATE,for,Arrive,at,shop,18:19:49
L1,is,4.0,mins,LATE,for,Arrive,at,shop,18:21:49
L1,is,6.0,mins,LATE,for,Arrive,at,shop,18:23:49
L1,is,8.0,mins,LATE,for,Arrive,at,shop,18:25:49
L1,is,10.0,mins,LATE,for,Arrive,at,shop,18:27:49
L1,is,16.2,mins,LATE,for,Arrive,at,shop,18:34:02
L1,is,18.2,mins,LATE,for,Arrive,at,shop,18:36:02
L1,is,20.2,mins,LATE,for,Arrive,at,shop,18:38:02
L1,is,2.0,mins,LATE,for,Arrive,at,bridge,21:45:26
L1,is,4.0,mins,LATE,for,Arrive,at,bridge,21:47:26
L1,is,6.0,mins,LATE,for,Arrive,at,bridge,21:49:26
编辑:将csv文件示例更改为实际文件。 我可以将所有值都放入一个数组中,但如果最后一列增量中的时间比第一列增加了2分钟,我只需要该值。 通常我希望看到:
L1 is late 30.2 min at shop and 6 min late at bridge.
任何帮助将不胜感激 谢谢
答案 0 :(得分:0)
首先,我认为你想要计算总时间,并从中得出答案:)
根据某个列值,只查找增量生成的CSV中的最后一次(或其他):
$locations=array();
if (($handle = fopen('your-csv-file.csv', "r")) !== false) {
while (($data = fgetcsv($handle, 1000, ",")) !== false) {
$location=$data[count($data)-2];
$time=$data[count($data)-1];
$locations[$location]=$time;
}
fclose($handle);
}
$locations
现在保存CSV中的所有位置,以及最后一次出现的值,
echo '<pre>';
print_r($locations);
echo '</pre>';
输出
Array
(
[shop] => 09:02:00
[bridge] => 09:06:00
)