从未格式化的CSV文件中提取数据

时间:2018-04-23 19:54:07

标签: javascript php

我想只在网页上的some.csv中显示某些部分。 我使用下面的代码来显示整行,但看起来并不好。

some.csv

<?php
    $f = fopen("C://xampp/htdocs/Game/python/some.csv", "r");
    $i = 0;
    while (($line = fgetcsv($f)) !== false) {
        $i++;
            echo "<tr>";
            foreach ($line as $cell) {
                if($i==1)
                    echo "<td>" . htmlspecialchars($cell) . "</td>";
            }
            echo "</tr>\n";
    }
    fclose($f);
?>

code.php

1012
1046
1052
1056
1030
1040
1035
1034
1042
1027

我想要的是输出应该如下所示:

MsgBox .Tables.Count

1 个答案:

答案 0 :(得分:2)

问题是,fgetcsv生成的数组中的第二个元素看起来像Python代码。您可以使用正则表达式从每个元组中提取第一个元素。

while (($line = fgetcsv($f)) !== false) {
    preg_match_all("/'(\d+)'/", $line[1], $matches);

    echo '<tr>';
    foreach ($matches[1] as $number) {
        echo "<td>$number</td>";
    }
    echo '</tr>';
}

如果CSV是由Python脚本生成的,最好修改该脚本,使其仅输出CSV文件中所需的数值,或以PHP可以直接处理的格式输出结果,如JSON

我不确定你想要如何将结果格式化为一个表格,所以我有点猜测那个部分,但是你应该能够在你得到这些数字时用它做任何你需要的事情。阵列。