gpt4 book ai didi

php - 读取 .csv 文件 PHP-ML

转载 作者:行者123 更新时间:2023-11-30 09:19:56 25 4
gpt4 key购买 nike

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

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

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

我不明白为什么这没有完全读取我的 .csv,如果我将示例 [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 文件中读取?

最佳答案

作为reference document shows ,您应该向构造函数传递一些列以作为第二个参数读取并且您只要求它提供一列。在下面的代码片段中我输入了另一个数字以获得更多列。

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 │
└─────┴─────┴─────┴─────┴─────┴─────┘

关于php - 读取 .csv 文件 PHP-ML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43695004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com