我正试图从csv文件中的行数中找出计数值:这是php脚本,
<?php
$str=null;
if (($handle = fopen("rahul.csv", "r")) !== FALSE) {
$i=0;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$str.= "[".$i.",".$data[1]."]," ;
$i++;
}
fclose($handle);
}
echo "$str";
?>
这是csv文件:
18-Jul-14 99.75 99.98
19-Jul-14 99.77 99.97
20-Jul-14 99.78 99.99
21-Jul-14 99.84 99.99
22-Jul-14 99.82 99.99
23-Jul-14 99.82 99.98
24-Jul-14 99.76 99.98
25-Jul-14 99.78 99.98
26-Jul-14 99.8 99.99
27-Jul-14 99.65 99.98
28-Jul-14 99.94 99.99
29-Jul-14 99.8 99.95
31-Jul-14 99.78 99.98
1-Aug-14 99.82 99.99
2-Aug-14 99.82 99.99
3-Aug-14 99.78 99.99
4-Aug-14 99.73 99.99
5-Aug-14 99.84 99.99
6-Aug-14 99.77 99.99
7-Aug-14 99.83 99.99
8-Aug-14 99.83 99.98
9-Aug-14 99.72 99.91
10-Aug-14 99.8 99.99
11-Aug-14 99.82 99.99
12-Aug-14 99.83 99.98
13-Aug-14 99.89 99.98
14-Aug-14 99.87 99.99
15-Aug-14 99.84 99.99
16-Aug-14 99.86 99.99
17-Aug-14 99.86 99.98
当我输出这个csv文件时,我得到了以下输出:
[0,99.75],[1,99.77],[2,99.78],[3,99.84],[4,99.82],[5,99.82],[6,99.76],[7,99.78],[8,99.8],[9,99.65],[10,99.94],[11,99.8],[12,99.78],[13,99.82],[14,99.82],[15,99.78],[16,99.73],[17,99.84],[18,99.77],[19,99.83],[20,99.83],[21,99.72],[22,99.8],[23,99.82],[24,99.83],[25,99.89],[26,99.87],[27,99.84],[28,99.86],[29,99.86],
现在,我试图通过计数并删除最后一个值的逗号来删除最后一值的逗号(,)。
我正试图得到这样的输出:
[0,99.75],[1,99.77],[2,99.78],[3,99.84],[4,99.82],[5,99.82],[6,99.76],[7,99.78],[8,99.8],[9,99.65],[10,99.94],[11,99.8],[12,99.78],[13,99.82],[14,99.82],[15,99.78],[16,99.73],[17,99.84],[18,99.77],[19,99.83],[20,99.83],[21,99.72],[22,99.8],[23,99.82],[24,99.83],[25,99.89],[26,99.87],[27,99.84],[28,99.86],[29,99.86]
您可以使用删除最后一个字符
$str = substr($str, 0, strlen($str)-1);
但我一开始会用另一种方式。将所有字符串放在一个数组中,然后用implode
将它们连接在一起。
或者,由于您的结果看起来就像JSON,您可以使用json_encode
。
$arr = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$arr[] = array($i, $data[1]);
$i++;
}
$str = json_encode($arr);
您可以使用将其删除
rtrim($str, ",");
或
trim($str, ",");
首先将结果分解为逗号,然后将分解结果分解为逗点。最后一个逗号应该删除。
$result = explode(",", $str);
$result = implode(",", $result);