Documentaciónarchivo_a_vector(nombre)

archivo_a_vector(nombre)\texttt{archivo\_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 csv simple 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ámetroTipoDescripción
nombreSTRINGRuta 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