Documentaciónarchivo_a_vector(nombre)
Nombre
archivo_a_vector - Lee un archivo de texto con numeros separados por comas y los carga en un vector numerico.
Sinopsis
ret = archivos.archivo_a_vector(nombre)
Descripcion
Lee un archivo de texto con numeros separados por comas (,) y carga esos valores en un vector numerico.
Que hace:
Abre el archivo nombre en modo lectura (r), lee cada linea y la separa por comas usando DIVIDIR(linea, ",", partes). Luego:
- limpia espacios con
TRIM() - verifica si es numerico con
strings.es_numerico_mute() - si es valido, lo convierte y lo guarda en el vector
- si encuentra un valor vacio o no numerico, informa el problema y corta el proceso
Al finalizar, cierra el archivo y retorna una tabla con la cantidad total y la lista numerica cargada.
Para que puede usarse:
- Cargar datos numericos desde un archivo
csvsimple para luego analizarlos. - Importar un vector de valores para calculos estadisticos, graficos o simulaciones.
- Construir matrices a partir de datos planos.
Comportamiento
- Abre el archivo en lectura.
- Separa cada linea por comas.
- Valida cada fragmento como numero antes de convertirlo.
- Retorna
{cant = ..., lista = ...}.
Funciones API relacionadas
archivos.archivo_a_vectorstr()archivos.archivo_a_str()archivos.buscar_en_archivo()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| nombre | STRING | Ruta o nombre del archivo a leer. |
Valor de retorno
TABLA - {cant = <NUMERICO>, lista = <VECTOR[NUMERICO]>}.
Ejemplo
ejemplo.blox
// --- Lee numeros separados por coma desde un archivo
//
// ret = archivos.archivo_a_vector(origen)
//
// ret es una tabla con 2 campos
// <cant> cantidad de numeros leidos del archivo
// <lista> un vector numerico donde se copiaron los numeros
//
INCLUIR "archivos.api"
INCLUIR "strings.api"
FUNCION PRINCIPAL
INICIO
STRING origen
NUMERICO cant, i
VECTOR vector[]
TABLA ret
origen = "numeros.txt"
ret = archivos.archivo_a_vector(origen)
cant = ret[1].cant
vector = ret[1].lista
IMPRIMIR("\nSe leyeron ", cant, "elementos.\n")
// --- Imprime todos los elementos del vector numerico <lista>
// Es 0-based
//
IMPRIMIR ("\nidx\tvector[idx]")
i=0
MIENTRAS (i < cant) HACER
IMPRIMIR ("\n", i, "\t", vector[i])
i = i + 1
FIN_MIENTRAS
//DEPURAR(vector)
FINAL