leer archivo csv o separados x comas

124 views
Skip to first unread message

chop...@gmail.com

unread,
Mar 23, 2021, 9:51:57 AM3/23/21
to Comunidad de Visual Foxpro en Español
buenos dias alguien que pueda apoyarme necesito leer el archvio extencion cs linea x linea y pasar el valor a un textbo en vfp  de antemano muchas gracias

Francisco Lorente

unread,
Mar 23, 2021, 1:37:45 PM3/23/21
to Comunidad de Visual Foxpro en Español
¿Pero necesitas obtener campo por campo de cada línea o toda la línea como un solo valor?

Saludos.
Francisco Lorente.
Murcia. España.

Zarlu

unread,
Mar 23, 2021, 3:05:07 PM3/23/21
to Comunidad de Visual Foxpro en Español
Buenas tardes chopito43 !

Aquí la pista de un colega:

Suerte
zarlu
Chetumal, Quintana Roo, México

roberto martinez andrade

unread,
Mar 23, 2021, 3:44:21 PM3/23/21
to publice...@googlegroups.com
Hace años utilice una serie de funciones para leer archivos separados por distintos delimitadores.

1. Sabía la estructura que debía rescatar del archivo
2. El tipo de campo que debía cargar
3. El archivo era un texto plano, es decir sin ningún tipo de carácter extraño, salvo los caracteres de fin de línea, retorno de carro y fin de archivo.

Archivo ejemplo delimitado por mbanci.txt ;

01;31-12-2006;31-12-2006;A1;1333;CARGO BCI;
01;31-12-2006;31-12-2006;A2;10000;DIFERENCIA 784 280305;
01;31-12-2006;31-12-2006;A4;2000;DIF INGRESO 859 190805;
01;31-03-2014;31-03-2014;08777152;289932;C-307/RELIQUIDACION DE/HABILITACION;
01;03-06-2014;03-06-2014;00009808;5250;C-682/REEMBOLSO P/MARIA JOSE G;
01;08-09-2014;08-09-2014;09374722;47143;C-1356/PAGO DE VAC/PATRICIO CAR;
01;07-10-2014;07-10-2014;00000271;6200;C-271/CONSTITUYE DEUD/SUSANA FUENTES P;
01;07-10-2014;07-10-2014;09416989;4550;C-1626/REEMBOLSO POR C/MANSILLA BEYER S;
01;21-10-2014;21-10-2014;09441505;126140;C-1770/ADQUISICION DE M/NELSON BERNARDO;
01;21-10-2014;21-10-2014;09441541;365116;C-1779/ADQUISICION DE M/OFIMASTER LTDA.;
01;23-10-2014;23-10-2014;00001486;132804;C-1801/SERVICIO DE ARRI/HOTEL BELLAVISTA;
01;14-10-2014;14-10-2014;09390056;54000;C/1609/PAGO HONR/JOSE AGUERO VELASQUEZ;
01;10-12-2014;10-12-2014;09460665;42052;C-2235/DEVOLUCION/MUNICIPALID;
01;24-02-2015;24-02-2015;00000054;56237;C-250/PAGO SUELD/HABILITACION;
01;08-04-1915;08-04-1915;00000792;1002547;C-491/ADQUISICION/DIMERC S.A.;
01;01-07-2015;01-07-2015;00000168;4402335;C-168/RECUPERA V/MUTUAL DE SE;
01;03-07-2015;03-07-2015;00000130;199331676;C-130/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000131;569671;C-131/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000132;8283562;C-132/AJUSTE  CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000133;411577;C-133/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000134;18100;C-134/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000135;1808180;C-135/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000136;827421;C-136/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000137;17401;C-137/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000138;1965735;C-138/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000139;138122;C-139/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000140;145235;C-140/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000141;628629;C-141/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000142;158332;C-142/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000143;149621;C-143/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000144;3235533;C-144/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000146;45982;C-146/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000147;201600;C-147/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000148;198000;C-148/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000149;330216;C-149/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000151;1268010;C-151/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000152;240000;C-152/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000153;171000;C-153/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000154;400000;C-154/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000155;14400;C-155/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000156;1289256;C-156/AJUSTE CONT/HABILITACION;
01;03-07-1915;03-07-1915;00000162;628320;C-162/AJUSTE CONT/HABILITACION;
01;03-07-2015;03-07-2015;00000163;44750;C-163/AJUSTE CONT/HABILITACION;
01;31-07-2015;31-07-2015;09460675;4402335;C-1324/TRASPASO DE/HABILITACION;
01;28-07-2015;28-07-2015;1028706;916594;ABONO PAGO;
01;31-12-2006;31-12-2006;A3;1;DIFERENCIA CH 1533464 280605;
01;31-12-2006;31-12-2006;A5;600;ERROR DEPOSITO;

Código de la carga

 file = "mbanci.txt"
cuenta=0
    momen=fopen(file,2)
    ca=fseek(momen,0,2)
    fwrite(momen,"* eof"+chr(13)+chr(19),7)
    fclose(momen)
    store space(0) to tot
    store 0 to puntero,cc
    **********
    do while .t.
      cc=cc+1
      archivo=space(500)
      momen=fopen(file)
      fseek(momen,cuenta)
      archivo=fread(momen,466)
      fclose(momen)
      x=at(chr(13),archivo)
      cuenta=cuenta+x+1
      line=substr(archivo,1,x+1)
      line=alltrim(line)
      if line=chr(13)+chr(10)
        loop
      endif
      if lower(left(line,5))="* eof"
        line=space(puntero)+line
        exit
      else
        line=space(puntero)+line
      endif
      cam_p=1
      do while .t.
        y=at(";",line)
        nombre_p=substr(line,1,y-1)
        line=substr(line,y+1)
        do case
          case cam_p=1
            banc_p=nombre_p
          case cam_p=2
            fec_p=ctod(nombre_p)
          case cam_p=3
            fecgir_p=ctod(nombre_p)
          case cam_p=4
            ndoc_p=nombre_p
          case cam_p=5
            mdoc_p=val(nombre_p)
          case cam_p=6
            glo_p=nombre_p
            thisform.text1.Value=glo_p
 case cam_p=7
EXIT
        endcase
        if line=chr(13)+chr(10)
          exit
        endif
        cam_p=cam_p+1
      enddo
    enddo
** a partir de acá operas los 6 campos extraídos por cada linea.

Espero que te sirva, lo utilice por muchos años sin problemas.

Roberto
Coyhaique - Chile




--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/458fe332-286a-4461-ab1e-e4a7a8b10da7n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages