Ir para conteúdo
  • 0

Arquivo .txt


Paulo Cesar

Pergunta

  • Alunos

Prezados, boa tarde!

Preciso de uma ajuda em relação a esse arquivo .txt conforme anexo:

Preciso tabular ele mais não estou conseguindo se alguém conseguir me ajudar agradeço.

Segue alguns comentários:

 

EU manipulo os arquivos anexos mensalmente para validação do SPED PIS COFINS.

O arquivo é estruturado em txt, separados por paypers | e separados por blocos.

 

Atual

|D100|0|1|7600149|57|00|002||562621|35201107655407000287570020005626211006353570|05112020|10122020|0||399,67|0,00|0|399,67|399,67|27,98|0,00||113.03|

|D101|0|399,67|50|07|399,67|1,6500|6,59||

|D105|0|399,67|50|07|399,67|7,6000|30,37||

 

Os blocos D101 e D105 os campos 9 || vem em branco e eu preencho manualmente com |113.03|

 

Correto

|D010|00362671000364|

|D100|0|1|7602668|57|00|001||786|35201233584324000173570010000007861000119128|08122020|17122020|0||2861,90|0,00|0|2861,90|0,00|0,00|2861,90||113.03|

|D101|0|2861,90|50|07|2861,90|1,6500|47,22|113.03|

|D105|0|2861,90|50|07|2861,90|7,6000|217,50|113.03|

|D100|0|1|7600050|57|00|001||383327|35201101834475000227570010003833271988105022|12112020|08122020|0||759,98|0,00|0|759,98|759,98|53,20|0,00||113.03|

|D101|2|759,98|50|01|759,98|1,6500|12,54|113.03|

|D105|2|759,98|50|01|759,98|7,6000|57,76|113.03|

 

Teria há possibilidades do preenchimento ser de forma automatizada.

Aguardo retorno! 

Atenciosamente,

Paulo 

 

abertura_efd_pc-8707-01122020.txt

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

@Paulo Cesar

Incrementei a função para abrir o teu arquivo, fazer todos os ajustes, e salvar o resultado com um "_result" no final do nome.

Para rodar basta você ter os dois arquivos na mesma pasta (o código em ".py" e o teu arquivo texto em ".txt"), depois clicar com o botão direito no arquivo ".py" e escolher a opção "Abrir com > Python".

Se quiser utilizar em outro arquivo .txt, basta inserir o novo nome na linha 17 do codigo:
 

Citar

process_and_save(r"abertura_efd_pc-8707-01122020.txt")

Abs!

 

validar-arquivo.pyabertura_efd_pc-8707-01122020_result.txt

  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, reinaldoc disse:

Você já usa um código python para processar esse arquivo?

Não deu pra entender como podemos ajudar. É para importar no Power BI? Basta usar a opção CSV e | como separador.

@reinaldocbom dia!

Não uso, é que a pessoal do fiscal faz esses imputs de forma manual e eu queria ver se tem uma forma de automatizar esse processo pra ela , ou seja, o processo é do zero. Teria como você me mandar uma solução?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
4 horas atrás, reinaldoc disse:

Faz inputs onde? Como assim? A pessoa lê esse aqruivo .txt e digita em algum lugar?

Você precisa explicar o problema.

  • Members
 

@reinaldoc, BOA TARDE!

Segue a explicação conforme abaixo, a pessoa pega esse arquivo em txt mesmo e digita o valor de 113.03 manualmente

 

EU manipulo os arquivos anexos mensalmente para validação do SPED PIS COFINS.

O arquivo é estruturado em txt, separados por paypers | e separados por blocos.

 

Atual

|D100|0|1|7600149|57|00|002||562621|35201107655407000287570020005626211006353570|05112020|10122020|0||399,67|0,00|0|399,67|399,67|27,98|0,00||113.03|

|D101|0|399,67|50|07|399,67|1,6500|6,59||

|D105|0|399,67|50|07|399,67|7,6000|30,37||

 

Os blocos D101 e D105 os campos 9 || vem em branco e eu preencho manualmente com |113.03|

 

Correto

|D010|00362671000364|

|D100|0|1|7602668|57|00|001||786|35201233584324000173570010000007861000119128|08122020|17122020|0||2861,90|0,00|0|2861,90|0,00|0,00|2861,90||113.03|

|D101|0|2861,90|50|07|2861,90|1,6500|47,22|113.03|

|D105|0|2861,90|50|07|2861,90|7,6000|217,50|113.03|

|D100|0|1|7600050|57|00|001||383327|35201101834475000227570010003833271988105022|12112020|08122020|0||759,98|0,00|0|759,98|759,98|53,20|0,00||113.03|

|D101|2|759,98|50|01|759,98|1,6500|12,54|113.03|

|D105|2|759,98|50|01|759,98|7,6000|57,76|113.03|

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Suave @Paulo Cesar? Como o teu problema é bem técnico fica difícil do pessoal entender se não tiver um exemplo simplificado.

De qualquer modo, entendi que o teu interesse é inserir o valor "113.03" no 9o campo sempre que a linha começar com as chaves "D101" ou "D105".

Neste caso, você pode criar uma funcao no Python para fazer essa inserção e depois colocar ela dentro de um loop que vai olhar linha por linha do teu arquivo.

Exemplo:

def process_input(input_text):
    output_lines = []
    lines = input_text.strip().split('\n')

    for line in lines:
        fields = line.split('|')
        if fields[1] in ['D101', 'D105']:
            fields[8] = '113.03'
            
    return output_lines

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 09/12/2023 em 20:18, Joao Raulino disse:

Suave @Paulo Cesar? Como o teu problema é bem técnico fica difícil do pessoal entender se não tiver um exemplo simplificado.

De qualquer modo, entendi que o teu interesse é inserir o valor "113.03" no 9o campo sempre que a linha começar com as chaves "D101" ou "D105".

Neste caso, você pode criar uma funcao no Python para fazer essa inserção e depois colocar ela dentro de um loop que vai olhar linha por linha do teu arquivo.

Exemplo:

def process_input(input_text):
    output_lines = []
    lines = input_text.strip().split('\n')

    for line in lines:
        fields = line.split('|')
        if fields[1] in ['D101', 'D105']:
            fields[8] = '113.03'
            
    return output_lines

Abs!

@Joao Raulino, bom dia!

Obrigado. Essa fórmula acima ela já está fazendo isso?

Foi isso que eu entendi também quando a moça do fiscal me passou.

Outra coisa como eu faço para subir esse arquivo eu tenho instalado na minha máquina o Pycharm

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 09/12/2023 em 20:18, Joao Raulino disse:

Suave @Paulo Cesar? Como o teu problema é bem técnico fica difícil do pessoal entender se não tiver um exemplo simplificado.

De qualquer modo, entendi que o teu interesse é inserir o valor "113.03" no 9o campo sempre que a linha começar com as chaves "D101" ou "D105".

Neste caso, você pode criar uma funcao no Python para fazer essa inserção e depois colocar ela dentro de um loop que vai olhar linha por linha do teu arquivo.

Exemplo:

def process_input(input_text):
    output_lines = []
    lines = input_text.strip().split('\n')

    for line in lines:
        fields = line.split('|')
        if fields[1] in ['D101', 'D105']:
            fields[8] = '113.03'
            
    return output_lines

Abs!

@Joao Raulino

Pior que não tem um exemplo simplificado, esse é um trabalho que eu quero fazer aqui para tornar o trabalho do pessoal do fiscal mais fácil.

Como essa base que eu mandei , teria como você montar pra mim esse esquema?

Desde já agradeço a ajudar!

Atenciosamente, 

Paulo 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
3 horas atrás, Joao Raulino disse:

@Paulo Cesar

Incrementei a função para abrir o teu arquivo, fazer todos os ajustes, e salvar o resultado com um "_result" no final do nome.

Para rodar basta você ter os dois arquivos na mesma pasta (o código em ".py" e o teu arquivo texto em ".txt"), depois clicar com o botão direito no arquivo ".py" e escolher a opção "Abrir com > Python".

Se quiser utilizar em outro arquivo .txt, basta inserir o novo nome na linha 17 do codigo:
 

Abs!

 

validar-arquivo.py 552 B · 0 downloads abertura_efd_pc-8707-01122020_result.txt 448.92 kB · 0 downloads

@Joao Raulinobom dia!

Cara que top, ele abre no Pycharm também?
image.png.17eaf9bfc558271d299b80afc2e31c70.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 minutos atrás, Joao Raulino disse:

Com certeza @Paulo Cesar!

Nao se esquece de colocar o arquivo base, neste caso o abertura_efd_pc-8707-01122020.txt, na mesma pasta do arquivo .py 😉

Na imagem que voce enviou parece que so o arquivo [...]_result.txt esta na pasta.

@Joao Raulino

eu coloquei o arquivo original sem o _result parece que deu certo ele gerou o _result no final seria isso mesmo?

Se for isso você me ajudou demais

 

image.png.7c5a6b511cf6bb39b488f3ff865efa9b.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
28 minutos atrás, Joao Raulino disse:

É isso mesmo @Paulo Cesar!

Lembrando que se quiser fazer o mesmo processo com outro arquivo, basta editar o codigo .py e colocar o nome do novo arquivo na linha 17.

Se a resposta te ajudou, nao esquece de escolher ela como melhor resposta 😉

Abs!

@Joao Raulino top demais muito obrigado pela ajuda, já mandei pra pessoa validar os dados e é isso mesmo até pedi pra ela gerar outro arquivo pra validarmos e deu certo.

Mais uma vez obrigado pela ajuda.

Outra coisa você manja de Power Apps. No meu trabalho quero implantar via Power Apps o minhas despesas, em modelo eu vi que tem my expenses mais não consigo alterar os aprovadores, centro de custo e categorias que fica em collections. Abaixo segue um print da tela do App. Esse modelo está perfeito para o uso aqui.

image.png.6300d632e3ec5bad1cc49161d8fa7163.png 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Joao Raulinoboa tarde!

Tudo bem?

Estou tentando criar um fluxo no Power Automate, alias eu tenho um fluxo que eu criei no Power Automate de aprovação de crédito onde a pessoa preenche a lista pré-definida no sharepoint que passa pelo fluxo do Automate, ontem sentei com o pessoal do financeiro para mostrar esse fluxo e terá mudança.

1° Mudança: Essa lista do Sharepoint será atualizada através de um Forms

2° Mudança: Acrecentar os níveis de aprovação tipo: [ <= 50.000,00 aprovador A ] ,[  > 50000 e <= 500000 aprovador B ] , [ > 500000 e <= 1000000 aprovador C ]

O meu fluxo hoje eu peguei o modelo de Aprovação  está assim:

Como que eu adicionar os níveis de aprovação?

Você manja de Power Automate?

Teria como fazer esse fluxo em Python?

image.png.80aced480497148725cca9dc8b9835a9.png 

image.png.90e6e21de3021f7ce5d289b348c5bb81.png

image.png.3109ddec84c2e90e09de19fd3c6e96ff.png

image.png.62f6f0df35bbec5a742a96d140ed6e4a.png

image.png

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...