通过 php 对 csv 数据进行排序
Sorting csv data via php
我的服务器上有一个 .csv 文件,如下所示:
C:/Users/Server/Pictures/P1040805.JPG,0.163533
C:/Users/Server/Pictures/P1040808.JPG,0.170159
C:/Users/Server/Pictures/P1040819.JPG,0.885534
C:/Users/Server/Pictures/P1040825.JPG,0.11393
C:/Users/Server/Pictures/P1040826.JPG,0.0536503
等等。我找到了一个 php 脚本,它在我的浏览器中显示这些结果,如下所示:
<?php
$row = 1;
if (($handle = fopen("C:/xampp/htdocs/results/result.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo " ","Record #",$row," "; $row++;
for ($recordcount=0; $recordcount < $num; $recordcount++) {
echo $data[$recordcount] . " \n";
}
}
fclose($handle);
} ?>
但是当它显示 csv 时,布局完全混乱,例如一行中有多个结果。
我想做三件事 -
-将0.xx转换为百分比
-将百分比值放在第一列,将路径放在第二列
- 最重要的是,只需将数据整齐地堆叠起来,这样每一行都有一个结果。
这一切都可以在 php 中完成吗?有人能告诉我我必须调整什么参数才能每行得到一个结果而不是更多吗?
没那么难,看这里
if (($handle = fopen("yourfile.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$percentaje=$data[1]*100;
echo $percentaje."% ".$data[0]. "<br>";
}
fclose($handle);
}
结果:
16.3533% C:/Users/Server/Pictures/P1040805.JPG
17.0159% C:/Users/Server/Pictures/P1040808.JPG
88.5534% C:/Users/Server/Pictures/P1040819.JPG
11.393% C:/Users/Server/Pictures/P1040825.JPG
5.36503% C:/Users/Server/Pictures/P1040826.JPG
我的服务器上有一个 .csv 文件,如下所示:
C:/Users/Server/Pictures/P1040805.JPG,0.163533
C:/Users/Server/Pictures/P1040808.JPG,0.170159
C:/Users/Server/Pictures/P1040819.JPG,0.885534
C:/Users/Server/Pictures/P1040825.JPG,0.11393
C:/Users/Server/Pictures/P1040826.JPG,0.0536503
等等。我找到了一个 php 脚本,它在我的浏览器中显示这些结果,如下所示:
<?php
$row = 1;
if (($handle = fopen("C:/xampp/htdocs/results/result.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo " ","Record #",$row," "; $row++;
for ($recordcount=0; $recordcount < $num; $recordcount++) {
echo $data[$recordcount] . " \n";
}
}
fclose($handle);
} ?>
但是当它显示 csv 时,布局完全混乱,例如一行中有多个结果。
我想做三件事 -
-将0.xx转换为百分比 -将百分比值放在第一列,将路径放在第二列 - 最重要的是,只需将数据整齐地堆叠起来,这样每一行都有一个结果。
这一切都可以在 php 中完成吗?有人能告诉我我必须调整什么参数才能每行得到一个结果而不是更多吗?
没那么难,看这里
if (($handle = fopen("yourfile.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$percentaje=$data[1]*100;
echo $percentaje."% ".$data[0]. "<br>";
}
fclose($handle);
}
结果:
16.3533% C:/Users/Server/Pictures/P1040805.JPG
17.0159% C:/Users/Server/Pictures/P1040808.JPG
88.5534% C:/Users/Server/Pictures/P1040819.JPG
11.393% C:/Users/Server/Pictures/P1040825.JPG
5.36503% C:/Users/Server/Pictures/P1040826.JPG