Artículo
· 9 sep, 2024 Lectura de 1 min

Cómo leer mediante código un archivo CSV línea a línea

Rúbrica de preguntas frecuentes de InterSystems

Esto se puede lograr utilizando el procedimiento CSV() de la clase %SQL.Util.Procedures . A continuación, podéis ver un ejemplo de uso (suponiendo que el archivo `test.csv` se encuentra en `c:\temp`):

 Set rowtype="Name VARCHAR(50),UID VARCHAR(50), PHONE VARCHAR(50)"
 Set filename="c:\temp\test.csv"
 Set result=##class(%SQL.Statement).%ExecDirect(,"call %SQL_Util.CSV(,?,?)",.rowtype,.filename)
 Set rset =result.%NextResult()
 
 // To display all results, use do rset.%Display()
 While rset.%Next() {
     Write "Name:",rset.%GetData(1)," UID:",rset.%GetData(2)," PHONE:",rset.%GetData(3),!
     }

 Set rset="",result=""
 Quit

Al ejecutar lo anterior, podéis acceder a cada fila y a cada campo como un conjunto de resultados:

USER>do ^CSV
Name    UID     PHONE
aaa     0001    080-1111-1111
bbb     0003    090-2222-2222
ccc     0009    050-3333-3333
ddd     0010    0120-17-1972
4 Rows(s) Affected

Podéis consultar también la documentación oficial que hace referencia a la clase %SQL.Util.Procedures aquí.

Comentarios (0)1
Inicie sesión o regístrese para continuar