Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

162
Visualizações
Lectura en archivo .csv PHP-ML

Estoy usando php-ml y tomando un archivo .csv con 6 columnas y miles de líneas, quiero que cada quinto elemento (columna) de cada matriz se guarde en $muestras. He intentado lo siguiente que me da el primer elemento de cada matriz.

 $dataset = new CsvDataset('myNewCsvFile.csv', 1); $samples = []; foreach ($dataset->getSamples() as $sample) { $samples[] = $sample[0]; }

No entiendo por qué esto no se lee completamente en mi .csv, si cambio el índice de muestra [0] a cualquier otro índice, aparece el siguiente error:

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

Esto me sugiere que solo está leyendo la primera columna de cada fila, lo que se prueba si imprimo la matriz Muestras, obtengo lo que esperaría, que es lo siguiente:

 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

Y así sucesivamente lo que es correcto. ¿Alguien puede explicar por qué esto no se lee en mi archivo .csv completo?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como muestra el documento de referencia , debe pasarle al constructor una cantidad de columnas para leer como un segundo argumento y solo le está pidiendo una columna. En el siguiente fragmento pongo otro número para obtener más columnas.

 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); }

Salidas:

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

Y myNewCsvFile.csv es;

 ┌─────┬─────┬─────┬─────┬─────┬─────┐ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ ├─────┼─────┼─────┼─────┼─────┼─────┤ │ 101 │ 201 │ 301 │ 401 │ 501 │ 601 │ │ 102 │ 202 │ 302 │ 402 │ 502 │ 602 │ └─────┴─────┴─────┴─────┴─────┴─────┘
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda