none
Exportar txt para excel com filtro RRS feed

  • Pergunta

  • Amigos

    Preciso exportar a lista abaixo para o excel eliminando apenas as linhas que contenham nas 4 batidas o valor O após o horario. Alguem conhece um script que faça essa exportação?

    ##############################################################################################

    DIA SEM JRN  TD BATIDAS                                                               INIC  TERM  QT HR DESCR.

    ------------------------------------------------------------------------------------------------------------------------------------
     21 Qui 0722 TR 14:50O 19:31O 20:31O 23:14O
     22 Sex 0999 RE
     23 Sab 0722 TR 15:02O 20:25O 21:25O 23:14O
     24 Dom 0722 TR 14:58O 20:55i 22:05O 23:16O
     25 Seg 0722 TR 14:57O 20:19O 21:26O 23:13i
     26 Ter 0722 TR 14:56O 20:11O 21:17O 23:14O

    ###################################################################


    sexta-feira, 24 de maio de 2013 18:39

Respostas

Todas as Respostas

  • Não entendi.

    Pode dar um exemplo de quais linhas das que você passou deveriam ficar e quais deveriam sair, e porque?


    Fábio de Paula Junior

    sábado, 25 de maio de 2013 01:47
    Moderador
  • Tenho um arquivo txt com os pontos mensal de todos funcionário (chegando a mais de 5.000 linhas), nele preciso separar quais são originais e quais são inclusos

    Ex Na linha

    21 Qui 0722 TR 14:50O 19:31O 20:31O 23:14O  (Após o horário tem a letra "O" significa que o ponto foi marcado original então precisarei excluir a linha abaixo)

    ja na linha

     24 Dom 0722 TR 14:58O 20:55i 22:05O 23:16O (Preciso manter a linha, pois existe um ponto que foi incluso)

    Criando um novo arquivo após o filtro ficaria assim:

    ##############################################################################################

    DIA SEM JRN  TD BATIDAS                                                               INIC  TERM  QT HR DESCR.

    ------------------------------------------------------------------------------------------------------------------------------------

     24 Dom 0722 TR 14:58O 20:55i 22:05O 23:16O
     25 Seg 0722 TR 14:57O 20:19O 21:26O 23:13i
     

    ###################################################################

    Pensei em criar um script que verifica se existe 4 letras i na linha e manter caso exista... Mas na verdade teria que verificar se existe 4 letras i na linha após o dia, Por exemplo:

    Ele checara se existe 4 letras i após esta parte "24 Dom" A lógica seria +- esta

    Obrigado Amigo

    sábado, 25 de maio de 2013 14:28
  • Veja este PowerShell (.ps1)

    $Arquivo = Get-Content "C:\temp\a.txt"
    
    $Resultado=@()
    
    #Não quero ler linhas 0,1 e 2 - e ultima linha
    $Array_Excecoes = 0,1,2,$Arquivo.getupperbound(0)
    
    $count=0
    $Arquivo
    "==========================================="
    foreach($Linha in $Arquivo){
           
    
        if ($Array_Excecoes -notcontains $count){
            
    
            #Separa campos por "", dentro de tmp[1]=1ª coluna, tmp[2]=2ª coluna, ....
            $tmp = $Linha.split(" ")
            
            #Verificar colunas 5,6,7 e 8
            if ($tmp[5].contains("i") -or `
                $tmp[6].contains("i") -or `
                $tmp[7].contains("i") -or `
                $tmp[8].contains("i")    )
            {
                #Se em uma das colunas conter "i" então não apaga
                $Resultado+=$Linha
            }
    
    
    
        }else{
            $Resultado+=$Linha
        }
        
        #incrementa contador
        $count++
    
    }
    
    $Resultado > novoarquivo.txt

    Veja o conteudo de novoarquivo.txt pra ver se ele faz o que vc precisa.


    Fábio de Paula Junior

    sábado, 25 de maio de 2013 15:40
    Moderador
  • Amigo, não deu certo... vou te mandar um exemplo do arquivo e oque preciso! Este é apenas um funcionario dentre centena que ira ter...

                                                                                         

    ------------------------------------------------------------------------------------------------------------------------------------
    Empresa                        Cartão de Ponto                                                        Página:    1
    -------------------------------------------------------------------------------------------------------------- 09/05/2013 - 09:25:06

       Estabelecimento: 300  -  Empresa                                              Unid Lotac: 00000000000
             Matrícula:      000 - 0 NOME FUNCIONARIO               Cargo/Função: 000    Funnção exercida  Cont: Empresa
          Centro Custo: 00000     Categ Sal: 00     Mensal            Turno: 0000 00:00 H às 00:00 H 0X1          Turma: 0
          Cartão Ponto:    00000        Local Marcação: 00    Início Ponto: 00/00/2000    Data Fim Ponto: 00/00/0000
               Jornada:  000 - 00:00  00:00  00:00  00:00    000 - 00:00    -      -    00:00

    DIA SEM JRN  TD BATIDAS                                                               INIC  TERM  QT HR DESCR.
    ------------------------------------------------------------------------------------------------------------------------------------
     21 Qui 0722 TR 14:50O 19:31O 20:31O 23:14O
     22 Sex 0999 RE
     23 Sab 0722 TR 15:02O 20:25O 21:25O 23:14O
     24 Dom 0722 TR 14:58O 20:55O 22:05O 23:16O
     25 Seg 0722 TR 14:57O 20:19O 21:26O 23:13O
     26 Ter 0722 TR 14:56O 20:11O 21:17O 23:14O
     27 Qua 0722 TR 14:58O 21:11O 22:11O 23:14O
     28 Qui 0999 RE
     29 Sex 0722 FE
     30 Sab 0722 TR 14:50O 20:25O 21:54O 23:16O                                      21:25 21:54 00:29 Jornada Incompleta
     31 Dom 0722 FE 14:56O 20:54O 21:59O 23:17O                                           14:56 20:54 05:58 Hora Extra não Autorizada
      21:59 23:17 01:18 Hora Extra não Autorizada
     01 Seg 0722 TR 14:55O 21:12I 22:12I 23:19O
     02 Ter 0722 TR 14:48O 21:13O 22:13O 23:14O
     03 Qua 0999 RE
     04 Qui 0722 TR 14:55O 19:00I 20:00I 23:17O
     05 Sex 0722 TR 15:02O 20:36O 21:46O 23:22O
     06 Sab 0722 TR 14:54O 21:01O 22:08O 23:14O
     07 Dom 0722 TR 14:56O 21:00O 22:02O 23:14O
     08 Seg 0722 TR 14:55O 21:08O 22:04O 23:15O
     09 Ter 0999 RE
     10 Qua 0722 TR 14:56O 20:39O 21:39O 23:14O
     11 Qui 0722 TR 14:53O 19:53I 20:53O 23:15O
     12 Sex 0722 TR 14:54O 20:06O 21:06O 23:15O
     13 Sab 0722 TR 15:05O 19:00O 20:00O 23:16O
     14 Dom 0722 TR 15:02O 21:26O 22:29O 23:24O
     15 Seg 0999 RE
     16 Ter 0722 TR 15:01O 19:40O 20:43O 00:23O                                           23:00 00:23 01:23 Hora Extra não Autorizada
     17 Qua 0722 TR 14:53O 20:37O 21:38O 23:18O
     18 Qui 0722 TR 15:00O 19:00I 20:00I 23:13O
     19 Sex 0722 TR 14:54O 21:17O 22:17O 23:15O
     20 Sab 0722 TR 14:58O 20:22O 21:25O 23:15O
    ------------------------------------------------------------------------------------------------------------------------------------
    BANCO DE HORAS REALIZADO NO PERIODO: 00/00/0000 00/00/0000
      Horas Positivas: 000:00           Horas Negativas: 000:00                              Saldo Mês:     000:00
    ------------------------------------------------------------------------------------------------------------------------------------

    Evt      Descrição                                    Quantidade Movimento                           Saldo Bco Horas
    ---      ------------------------------               --------------------                           ------------------------------
    001      Hrs Normais Diurnas                                       170,184                           HRS. POSITIVAS:   000:00
    003      Hrs Normais Noturnas                                       20,000                           HRS. NEGATIVAS:   000:00
    031      Hrs.DSR Vencimento                                         29,333                           SALDO         :   000:00
    117      Horas Transporte 50%                                       24,000                           PAGAS         :   000:00
    118      Hrs Extras Noturnas 50%                                     1,383                           DESCONTADAS   :     0:00
    123      Hrs.Ext.Diur.100% Dom.Fer.                                  5,984
    127      Hrs.Ext.Notur.100%Dom.Fer.                                  1,283
    130      Adicional Noturno                                          29,701
    151      Redução S/Hrs.Normais Noturnas                              2,857
    154      Redução S/Hrs.Extras  Noturnas                              0,663
    206      Hrs Faltas nao Just.Diur.                                   0,483

    -------------------------------------------------------------------------EMPRESA - Controle de Frequência - AA0000AA - V:0.00.00.000
    ------------------------------------------------------------------------------------------------------------------------------------
    Companhia Agrícola Colombo                       Cartão de Ponto                                                        Página:    2
    -------------------------------------------------------------------------------------------------------------- 09/05/2013 - 09:25:06


                                                                         ________________________________________

                                                                                               NOME FUNCIONARIO

    ARQUIVO QUE PRECISAREI

    ------------------------------------------------------------------------------------------------------------------------------------
    Empresa                        Cartão de Ponto                                                        Página:    1
    -------------------------------------------------------------------------------------------------------------- 09/05/2013 - 09:25:06

       Estabelecimento: 300  -  Empresa                                              Unid Lotac: 00000000000
             Matrícula:      000 - 0 NOME FUNCIONARIO               Cargo/Função: 000    Funnção exercida  Cont: Empresa
          Centro Custo: 00000     Categ Sal: 00     Mensal            Turno: 0000 00:00 H às 00:00 H 0X1          Turma: 0
          Cartão Ponto:    00000        Local Marcação: 00    Início Ponto: 00/00/2000    Data Fim Ponto: 00/00/0000
               Jornada:  000 - 00:00  00:00  00:00  00:00    000 - 00:00    -      -    00:00

    DIA SEM JRN  TD BATIDAS                                                               INIC  TERM  QT HR DESCR.
    ------------------------------------------------------------------------------------------------------------------------------------

     01 Seg 0722 TR 14:55O 21:12I 22:12I 23:19O
     04 Qui 0722 TR 14:55O 19:00I 20:00I 23:17O
     11 Qui 0722 TR 14:53O 19:53I 20:53O 23:15O
     18 Qui 0722 TR 15:00O 19:00I 20:00I 23:13O
    ------------------------------------------------------------------------------------------------------------------------------------
    BANCO DE HORAS REALIZADO NO PERIODO: 00/00/0000 00/00/0000
      Horas Positivas: 000:00           Horas Negativas: 000:00                              Saldo Mês:     000:00
    ------------------------------------------------------------------------------------------------------------------------------------

    Evt      Descrição                                    Quantidade Movimento                           Saldo Bco Horas
    ---      ------------------------------               --------------------                           ------------------------------
    001      Hrs Normais Diurnas                                       170,184                           HRS. POSITIVAS:   000:00
    003      Hrs Normais Noturnas                                       20,000                           HRS. NEGATIVAS:   000:00
    031      Hrs.DSR Vencimento                                         29,333                           SALDO         :   000:00
    117      Horas Transporte 50%                                       24,000                           PAGAS         :   000:00
    118      Hrs Extras Noturnas 50%                                     1,383                           DESCONTADAS   :     0:00
    123      Hrs.Ext.Diur.100% Dom.Fer.                                  5,984
    127      Hrs.Ext.Notur.100%Dom.Fer.                                  1,283
    130      Adicional Noturno                                          29,701
    151      Redução S/Hrs.Normais Noturnas                              2,857
    154      Redução S/Hrs.Extras  Noturnas                              0,663
    206      Hrs Faltas nao Just.Diur.                                   0,483

    -------------------------------------------------------------------------EMPRESA - Controle de Frequência - AA0000AA - V:0.00.00.000
    ------------------------------------------------------------------------------------------------------------------------------------
    Companhia Agrícola Colombo                       Cartão de Ponto                                                        Página:    2
    -------------------------------------------------------------------------------------------------------------- 09/05/2013 - 09:25:06


                                                                         ________________________________________

                                                                                               NOME FUNCIONARIO


    Obrigado pela força, Abraço!


    segunda-feira, 27 de maio de 2013 11:22
  • Claro que não iria funcionar, o real é diferente do exemplo que vc havia passado.

    O script que você precisa não é muito diferente do que eu já passei porém tem que ser feito um tratamento para não ler as linha que não são do ponto. Desculpe não poder ajuda no momento.


    Fábio de Paula Junior

    segunda-feira, 27 de maio de 2013 14:56
    Moderador
  • Obrigado a força amigo!
    segunda-feira, 27 de maio de 2013 16:19
  • Amigo tenta isso

    Get-Contet arquivo.txt | ?{$_ -like "*O*O*O*O"}

    Verifica se ele retorna só o que tu quer


    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki

    segunda-feira, 27 de maio de 2013 18:31
  • Matheus, 

    Boa idéia essa de usar o Like.

    Eu tentei essa mas ainda vem uma linha sobrando, tá quase.

    Get-Content C:\temp\rolerite.txt | ?{!(($_ -like "*:*O*:*O*:*O*:*O*") -or ($_ -like "*RE") -or ($_ -like "*FE")) }

    Não entendi porque esta consulta ainda traz a linha

    .

    21:59 23:17 01:18 Hora Extra não Autorizada

    "Porcamente" a solução poderia ser esta:

    Get-Content C:\temp\rolerite.txt | ?{!(($_ -like "*:*O*:*O*:*O*:*O*") -or ($_ -like "*RE") -or ($_ -like "*FE") -or ($_ -like "*Hora Extra não Autorizada") ) } 


    Fábio de Paula Junior




    segunda-feira, 27 de maio de 2013 19:04
    Moderador
  • estranho contei 3 "O" nela e nao 4 o.O podemos utilizar o notlike tbm

    Get-Content C:\temp\rolerite.txt | ?{$_ -like "*:*O*:*O*:*O*:*O*" -and $_ -notlike "*Hora*"}


    Ajudei? Marca como útil.
    Visite meu blog: HowToServer

    Quer conversar ou pedir ajuda sobre Powershell?
    entre no grupo no Facebook Powershell Brasil
    Quer Aprender Powershell?

    Quer conversar ou pedir ajuda sobre servidores em geral? Entre no grupo no FacebookAdministradores IT Meus Artigos na TechNet Wiki

    segunda-feira, 27 de maio de 2013 19:10
  • "eliminando"

    Agora entendi

    utiliza

    Get-Content .\tetinha.txt | ?{$_ -notlike "*O*O*O*O*"}

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer

    Quer conversar ou pedir ajuda sobre Powershell?
    entre no grupo no Facebook Powershell Brasil
    Quer Aprender Powershell?

    Quer conversar ou pedir ajuda sobre servidores em geral? Entre no grupo no FacebookAdministradores IT Meus Artigos na TechNet Wiki



    segunda-feira, 27 de maio de 2013 19:13
  • Matheus seu comando funciona sim... acontece que terá linha que tem nome de funcionário que tem 4 vezes a letra "O" e então vai excluir não posso perder esta informação!

    Fábio de Paula Junior, vc consegue modificar sua script para quando encontrar as letras "O" na coluna:

    coluna 22 e 29 e 36 e 43 (tem que ser nas quatro "and") apagar a linha  *acredito que ira funcionar perfeitamente, pois é justamente oque eu não quero... linha que contenham "O" nas colunas citadas

    Obrigado a todos de certa forma todos contribuiram muito

    terça-feira, 28 de maio de 2013 10:02
  • faz assim troca o *O*O*O*O* pelo formato que o fabio colocou

    "*:*O*:*O*:*O*:*O*"

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer

    Quer conversar ou pedir ajuda sobre Powershell?
    entre no grupo no Facebook Powershell Brasil
    Quer Aprender Powershell?

    Quer conversar ou pedir ajuda sobre servidores em geral?
    Entre no grupo no Facebook Administradores IT

    Meus Artigos na TechNet Wiki

    terça-feira, 28 de maio de 2013 10:58
  • Matheus, tenho muito poco conhecimento nessa linguagem...

    Quando executo o comando especifico ele lista oque preciso... como faço para salvar ele num arquivo txt após a consulta abaixo:

    Get-Content C:\documento.txt | ?{!(($_ -like "*:*O*:*O*:*O*:*O*") -or ($_ -like "*RE") -or ($_ -like "*FE")) }

    Tem como criar um .bat ou algo assim para ficar mais facil?

    terça-feira, 28 de maio de 2013 11:23
  • Antonio, você pode utilizar o cmdlet "| Out-File -FilePath resultado.txt" para enviar o resultado para um arquivo txt e para montar o script Powershell em um arquivo você pode criar um arquivo chamado HE.ps1 com o seguinte código:

    Param ($strArq)
    
    $strResultado = "resultado.txt"
    
    Get-Content $strArq | ?{$_ -like "*:*O*:*O*:*O*:*O*" -and $_ -notlike "*Hora*"} | Out-File -FilePath $strResultado

    Para executar o comando no Powershell:

    .\HE.ps1 arq.txt


    Att, AJones

    terça-feira, 28 de maio de 2013 12:34
  • Get-Content C:\documento.txt | ?{!(($_ -like "*:*O*:*O*:*O*:*O*") -or ($_ -like "*RE") -or ($_ -like "*FE")) } | Out-File x.txt
    Você pode salvar o arquivo com a extensão .ps1 e executar ele com powershell (é necessario habilitar a execução de scripts.)

    Ajudei? Marca como útil.
    Visite meu blog: HowToServer

    Quer conversar ou pedir ajuda sobre Powershell?
    entre no grupo no Facebook Powershell Brasil
    Quer Aprender Powershell?

    Quer conversar ou pedir ajuda sobre servidores em geral?
    Entre no grupo no Facebook Administradores IT

    Meus Artigos na TechNet Wiki

    terça-feira, 28 de maio de 2013 18:17
  • Obrigado, abraço!
    terça-feira, 28 de maio de 2013 19:59