有什么方法可以使用php从特定行到文件末尾读取csv文件?

时间:2019-01-12 05:20:12

标签: php

所以我的csv文件格式应该是这样

Site:
Site ID:
Owner:
Interval:
Location:
Last Record:
---Data From User File---:
Date, Content
2019-01-10-12:15, 1
2019-01-10-12:15, 1.5
2019-01-10-12:15, 0.8
2019-01-10-12:15, 1.4
2019-01-10-12:15, 1.9
2019-01-10-12:15, 1.4
2019-01-10-12:15, 1.6
2019-01-10-12:15, 1.7
2019-01-10-12:15, 1.1

我需要使用php从第10行(2019-01-10-12:15,1)开始读取csv文件到文件结尾。我已经在线检查了大多数方法,但并没有帮助我解决问题,下面提供了我的代码。

原来是在读取前8行(与我想要的相反)。

<?php
    $index = 8;
    $i = 1;
    $file = fopen("data.csv", "r");
    $data = fgetcsv($file);
    while (! feof($file)) {
        if ($index >= $i) {
            print_r($data = fgetcsv($file));
        }
        $i++;
    }
    fclose($file);

?>

需要从第10行读取

2 个答案:

答案 0 :(得分:0)

可以使用多种解决方案来处理数据。

由于您的其他行不是以数字开头,所以我要做的是检查新行的第一个字符是否为数字(使用PHP的substr()函数获取第一个字符,然后使用{{1}检查该变量) }函数)。如果您得到一个数值,则这是您的第一行。

答案 1 :(得分:0)

<?php

$skip_lines = 8;
$i = 0;
$file = fopen('/path/to.csv', 'r');
while (($row = fgetcsv($file)) !== FALSE) {
    if($i++ >= $skip_lines) {
        print_r($row);
    }
}
fclose($file);