LER ARQUIVO TXT E SALVAR EM CSV

 Tópico anterior Próximo tópico Novo tópico

LER ARQUIVO TXT E SALVAR EM CSV

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#490855 - 20/10/2019 20:09:42

GTSDIGITAL
SAO PAULO
Cadast. em:Janeiro/2015


Última edição em 21/10/2019 10:44:37 por GTSDIGITAL

 Anexos estao visíveis somente para usuários registrados

Amigos

Vocês que são expert me ajudem por favor, tenho um arquivo TXT com milhares de clientes similar a este anexo acima, como faço para deixa-lo em um excel (CSV) separado por coluna ?
Quando tiver 2 ou mais sub-registros abaixo de um cliente como é o caso do JOAO CINTRA DA SOLEDADE ALONSO, teria que repetir o nome cliente na próxima linha como fiz abaixo e incluir os dados do sub-registro:


ARQUIVO ORIGINAL (ANEXO ACIMA)





DESEJADO CSV
CODIGO DO ACIONISTA |  NOME   |  CPF/CNPJ   |  DATA   |  DESCRICAO   |  ACOES
00000289249   |  MARIA DA PIEDADE TEIXEIRA                   |  000.000.000-00   |  11/10/18   |  Desdobramento                 |  585 (+)
00000289272   |  JOAO CINTRA DA SOLEDADE ALONSO   |  000.000.000-00   |  12/10/18   |  Desdobramento                 |  487 (+)
00000289272   |  JOAO CINTRA DA SOLEDADE ALONSO   |  000.000.000-00   |  13/10/18   |  Desdobramento singular   |  58 (-)
00000289272   |  JOAO CINTRA DA SOLEDADE ALONSO   |  000.000.000-00   |  14/10/18   |  Desdobramento                 |  178 (+)
.......


DESEJADO EXCEL





#490856 - 20/10/2019 20:45:01

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


por acaso os campos tem tamanho fixo? pq caracter separador nao vi



#490857 - 20/10/2019 20:50:37

GTSDIGITAL
SAO PAULO
Cadast. em:Janeiro/2015


Última edição em 21/10/2019 10:04:26 por GTSDIGITAL

Citação:
:
por acaso os campos tem tamanho fixo? pq caracter separador nao vi

Nick, não tem tamanho fixo devido algumas pessoas terem um nome maior que o outro, teria que ter uma forma de ler as palavras constantes que sempre se repete como:



Estava com a ideia de ler todo arquivo e joga-lo em uma matriz separando por espaço (SPLIT " ") e ir tratando cada palavra coringa que se repete como
  • CODIGO DO ACIONISTA,
  • NOME,
  • CPF/CNPJ.....


    Dim filePath As String = TxtPathArquivo.Text
    Dim streamReader As New IO.StreamReader(filePath)
    Dim MontarBlocoDeDados As String
    Dim VarArrayAux As String()


    'LAÇO PARA LER O ARQUIVO TXT ATÉ O FIM
    While Not streamReader.EndOfStream
        'LEITURA DA LINHA
        streamText = streamReader.ReadLine()
        MontarBlocoDeDados = MontarBlocoDeDados & " " & streamText
    End While



    If Not String.IsNullOrEmpty(MontarBlocoDeDados) Then

        'SEPARAR PALAVRA POR PALAVRA ONDE TIVER ESPAÇOS E JOGAR EM UMA MATRIZ
        VarArrayAux = MontarBlocoDeDados.Split(" ")

    End if

    '==================================================
    'TRATAR CADA PALAVRA E IR MONTANDO O CSV
    For i = 0 To UBound(VarArrayAux)
         ....
    Next






  • #490860 - 21/10/2019 01:04:36

    KERPLUNK
    RIO GRANDE DO SUL
    Cadast. em:Junho/2009


    Membro da equipe
    Importe, faça a separação pelo caracter que os separa, ordene por nome, simples.

    _______________________________________________________________________
    Virei Oráculo!
    The end is nigh, be ready for the nukes!


    #490863 - 21/10/2019 10:02:12

    GTSDIGITAL
    SAO PAULO
    Cadast. em:Janeiro/2015


    Última edição em 21/10/2019 10:03:04 por GTSDIGITAL

    Citação:
    :
    Importe, faça a separação pelo caracter que os separa, ordene por nome, simples.

    Mas eu empaquei como tratar a palavra our palavra e recortar o que interessa como nome completo, CPF, e assim por diante.




    #490864 - 21/10/2019 10:38:17

    KERPLUNK
    RIO GRANDE DO SUL
    Cadast. em:Junho/2009


    Membro da equipe
    Aqui tem um tutorial sobre isso

    _______________________________________________________________________
    Virei Oráculo!
    The end is nigh, be ready for the nukes!


    #490865 - 21/10/2019 10:52:55

    OMAR2007
    MONTES CLAROS
    Cadast. em:Maio/2019


    Última edição em 21/10/2019 10:53:44 por OMAR2007

    Famigerado KERPLUNK,porque seu horário está diferente?
    Não tem o verão.
    Editado.O meu também.




    #490867 - 21/10/2019 11:25:30

    KERPLUNK
    RIO GRANDE DO SUL
    Cadast. em:Junho/2009


    Membro da equipe
    Citação:
    :
    Famigerado KERPLUNK,porque seu horário está diferente?
    Não tem o verão.
    Editado.O meu também.

    Pois é, esse horário é do server... essa coisa confundiu todo mundo.

    _______________________________________________________________________
    Virei Oráculo!
    The end is nigh, be ready for the nukes!


    #490869 - 21/10/2019 12:15:23

    NICKOSOFT
    SANTO ANDRE
    Cadast. em:Maio/2009


    tenta assim....
      
    dim s as string = "you have a <funny> thing <funny> going on"
      dim a() as string = Regex.Split(s,"<funny>")
      for each b as string in a
         Response.Write( b & "<br>")
      next




    #490872 - 21/10/2019 13:14:13

    GTSDIGITAL
    SAO PAULO
    Cadast. em:Janeiro/2015


    Última edição em 21/10/2019 13:17:28 por GTSDIGITAL

    Citação:
    :
    tenta assim....
      
    dim s as string = "you have a <funny> thing <funny> going on"
      dim a() as string = Regex.Split(s,"<funny>")
      for each b as string in a
         Response.Write( b & "<br>")
      next

    NICKOSOFT

    Estou usando sua logica, mas com SPLIT " " com os espaços e separou palacra por palavra, ma como faço para unir somente os nomes usando como curinga estas repetições abaixo ?
    Existe uma lógica para pegar a posição INICIAL "NOME" e final "------" para ele recortar e jogar o que estiver no meio desta string para a variavel ?







    #490875 - 21/10/2019 16:51:41

    ELUCIMAR
    GOIANIA
    Cadast. em:Dezembro/2003


    Última edição em 21/10/2019 16:56:16 por ELUCIMAR

     Anexos estao visíveis somente para usuários registrados

    GTSDIGITAL
    Fiz um exemplo para importação deste arquivo.
    Armazenei os dados em um List<T> caso queira persistir os dados e também em uma List<string> para salvar o arquivo(.csv) após pegar os dados.
    Obs: O exemplo vai funcionar desde que o padrão dos demais arquivos sejam iguais ao que passou.


    E.A.M

    Cursos de Excel e VB6:
    cursoexcelvba.com.br



     Tópico anterior Próximo tópico Novo tópico


    Para responder este tópico o login é requerido
    Se você já possui uma conta de usuário por favor faça seu login
    Se você não possui uma conta de usuário use a opção Criar usuário