Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
Qlik Launches Open Lakehouse and advanced agentic AI experience in Qlik Answers! | LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Import
Creator
Creator

Carga de varios archivos.

Buen día.

Requiero realizar la recarga de varios archivos txt en una misma ubicación con distinto nombre (nombre por mes), lo único que diferencia los archivos, aparte del nombre, es que las columnas son las fechas del mes, por ende no puedo cargarlos todos al tiempo. Yo sé que se podría realizar una recarga a través de la sentencia FOR ...Next y quisiera su colaboración para darme una explicación de su uso o de alguna ruta donde pueda encontrar las especificaciones de su uso; o si conocen alguna forma diferente de realizar la carga de estos archivos.

Agradezco su colaboración en esto.

Saludos.

Juan Gómez

1 Solution

Accepted Solutions
el_aprendiz111
Specialist
Specialist

Juan buenas tardes

Mira este a ver si te funciona:


SET v_RutaTxt =  'C:\Users\xxx\Desktop\TXT\txt';

For each vFileName in Filelist ('$(v_RutaTxt)\*.txt');
Load *,
'$(vFileName)'
as RutaArchivo,
SubField('$(vFileName)','\',-1) AS NombreArchivo
From [$(vFileName)]
(
txt,utf8, no labels, Comment is '', delimiter is ';', msq);

;
Next vFileName

EXIT Script;

View solution in original post

4 Replies
rubenmarin

Hola Juan, usando CrossTable podrías convertir el nombre de las columnas en un campo llamado 'Fecha' (o similar) y el código podría servirte para todos los ficheros... siempre que los campos cualificadores sean los mismos.

https://help.qlik.com/es-ES/sense/3.2/Subsystems/Hub/Content/Scripting/ScriptPrefixes/crosstable.htm

La explicación del bucle For también viene en la ayuda:

https://help.qlik.com/es-ES/sense/3.2/Subsystems/Hub/Content/Scripting/ScriptControlStatements/For.h...

En el ejemplo 2 de For Each se muestra como recorrer los ficheros de una carpeta:

https://help.qlik.com/es-ES/sense/3.2/Subsystems/Hub/Content/Scripting/ScriptControlStatements/For%2...

Import
Creator
Creator
Author

Hola Ruben.

Gracias, pero estos ya los había visto, es solo que me confunden un poco, pensé que se podría encontrar algo más especifico o un ejemplo más claro para la creación del bucle.

En cuanto a tu sugerencia del crosstable, lo probé y me funcionó bien.

Espero tengas algo, respecto a los bucles, un poco más especifico o con ejemplos más claros.

Gracias.

Saludos

el_aprendiz111
Specialist
Specialist

Juan buenas tardes

Mira este a ver si te funciona:


SET v_RutaTxt =  'C:\Users\xxx\Desktop\TXT\txt';

For each vFileName in Filelist ('$(v_RutaTxt)\*.txt');
Load *,
'$(vFileName)'
as RutaArchivo,
SubField('$(vFileName)','\',-1) AS NombreArchivo
From [$(vFileName)]
(
txt,utf8, no labels, Comment is '', delimiter is ';', msq);

;
Next vFileName

EXIT Script;

Import
Creator
Creator
Author

Hola Fer.

Muchas gracias, en si la función me funcionó, le realice unos cambios y me cargo perfecto.

Muchas gracias.

Saludos