我如何让PHP读取5行而不是整个.csv文件?

时间:2012-02-21 16:16:42

标签: php

$file_handle = fopen("ticker.csv", "r");  while (!feof($file_handle) ) {

  $line_of_text = fgetcsv($file_handle, 1024);

  print '<div class="ticker_price">'. $line_of_text[7] . "</div>";
                                                                                                       }
fclose($file_handle);

如何从.csv文件中的第7列读取有限数量的行

5 个答案:

答案 0 :(得分:4)

对代码进行细微更改最多应读取五行:

$maxLines = 5;
$file_handle = fopen("ticker.csv", "r");

for ($i = 0; $i < $maxLines && !feof($file_handle); $i++)
{
    $line_of_text = fgetcsv($file_handle, 1024);
    print '<div class="ticker_price">'. $line_of_text[7] . "</div>";
}
fclose($file_handle);

答案 1 :(得分:1)

查看fgets()

http://www.php.net/manual/en/function.fgets.php

应该是你需要的。

答案 2 :(得分:0)

您可以使用fgets逐行读取文件并使用str_getcsv

解析每一行

http://php.net/manual/en/function.fgets.php

http://uk.php.net/manual/en/function.str-getcsv.php

答案 3 :(得分:0)

fgetcsv函数将为您提供一个表示一行的数组。因此,要获得第n列,您必须遍历行并获取第n个值。

所以,如果你想要第7列到第10行,你可以做到

$row_from = 0;
$row_to = 10;
$row_counter = 0;
$7th_array = array();
while ($line = fgetcsv($file_handle, 1024)) {
   if ($row_from <= $row_counter && $row_to >= $row_counter)
      $7th_array[] = $line[6];
   $row_counter++;
}

并且您将获得$ 7th_array中第7列的所有值。

答案 4 :(得分:0)

您可以使用'file'将文件读入数组,然后抓住每一行,将其分解为另一个数组,然后获取所需的索引。