【问题标题】:Reading in .csv file PHP-ML读取 .csv 文件 PHP-ML
【发布时间】:2017-09-27 10:42:08
【问题描述】:

我正在使用 php-ml 并接收一个包含 6 列和数千行的 .csv 文件,我希望每个数组的每个第 5 个元素(列)都保存在 $samples 中。我尝试了以下方法,它为我提供了每个数组的第一个元素。

$dataset = new CsvDataset('myNewCsvFile.csv', 1);     
$samples = [];

        foreach ($dataset->getSamples() as $sample) {
            $samples[] = $sample[0];
        }

我不明白为什么这没有完全读取我的 .csv,如果我将 sample[0] 的索引更改为任何其他索引,我会收到以下错误:

Notice: Undefined offset: 1 in C:\xampp\htdocs\test\index.php on line 19

这向我表明它只读取每一行的第一列,如果我打印出数组 Samples 我得到了我期望的结果,就证明了这一点:

    Array
(
    [0] => 1157
    [1] => 1157
    [2] => 1157
    [3] => 1157
    [4] => 1157
    [5] => 1157
    [6] => 1157
    [7] => 1157
    [8] => 1157
    [9] => 1157
    [10] => 1157
    [11] => 1157
    [12] => 1157
    [13] => 1157
    [14] => 1157
    [15] => 1157
    [16] => 1157
    [17] => 1157
    [18] => 1157
    [19] => 1157
    [20] => 1157
    [21] => 1157
    [22] => 1157

等等哪个是正确的。谁能解释为什么这没有在我的完整 .csv 文件中读取?

【问题讨论】:

    标签: php machine-learning php-ml


    【解决方案1】:

    作为reference document shows, 您应该向构造函数传递一些列以作为第二个参数读取 而且您只要求一列。在下面的 sn-p 我放了另一个数字 获取更多列。

    use Phpml\Dataset\CsvDataset;
    
    // the third argument makes it ignore the heading row
    $dataset = new CsvDataset('myNewCsvFile.csv',4,true);     
    
    foreach ($dataset->getSamples() as $sample) {
        print_r($sample);
    }
    

    输出:

    Array
    (
        [0] => 101
        [1] => 201
        [2] => 301
        [3] => 401
    )
    Array
    (
        [0] => 102
        [1] => 202
        [2] => 302
        [3] => 402
    )
    

    myNewCsvFile.csv 是;

    ┌─────┬─────┬─────┬─────┬─────┬─────┐
    │  1  │  2  │  3  │  4  │  5  │  6  │
    ├─────┼─────┼─────┼─────┼─────┼─────┤
    │ 101 │ 201 │ 301 │ 401 │ 501 │ 601 │
    │ 102 │ 202 │ 302 │ 402 │ 502 │ 602 │
    └─────┴─────┴─────┴─────┴─────┴─────┘
    

    【讨论】:

      猜你喜欢
      • 2020-05-28
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      相关资源
      最近更新 更多