0
I am trying to recover specific data from a txt, for example from the following:
Cod: 275 Nome: xxxxxxxxxxxxxxxx Funcao: xxxxxxxxxxxxxxxxxxxx Dep.IR: 0 |
Admissão: 27/08/2012 Situação:Ativo Ocorrencia: 1 Salario: 1.630,00 |
+----------------------------------------------------------------------------------------------------------------------------+
1 Salário 30,00 1.630,00 | 11 INSS Sobre Salário 9,00 187,84 |
5 D.S.R. Sobre Horas Extras 16,91 | |
| 17 Horas Extras 50% 5,00 55,57 |
| 152 DSR Adicional Noturno 58,63 | |
| 1047 Adicional Noturno 25% 104,00 192,64 |
| 1403 Indenização Horas Itinere 18,00 133,36 |
+----------------------------------------------------------------------------------------------------------------------------+
| Base INSS Empresa: 2.087,11 Base INSS Func.: 2.087,11 Base INSS Func 13o Sal: 0,00
| Base FGTS 13o: 0,00 Base F.G.T.S.: 2.087,11 F.G.T.S.: 166,97
| Base IRRF: 2.087,11 Deducoes: 187,84
Proventos: 2.087,11 Descontos: 187,84 Liquido: 1.899,27 |
+----------------------------------------------------------------------------------------------------------------------------+
+----------------------------------------------------------------------------------------------------------------------------+
| Cod: 752 Nome:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Funcao: xxxxxxxxxxxxxxxxxxx Dep.IR: 1 |
| Admissão: 04/09/2017 Situação:Ativo Ocorrencia: 1 Salario: 1.470,00 |
+----------------------------------------------------------------------------------------------------------------------------+
| 1 Salário 6,00 294,00 | 11 INSS Sobre Salário 9,00 26,00 |
| 5 D.S.R. Sobre Horas Extras 13,03 | 39 Faltas (Dias) 1,00 49,00 |
| 17 Horas Extras 50% 1,30 13,03 | 45 INSS Sobre Férias 169,18 |
| 270 Férias No Mês 24,00 1.409,84 | 53 Liquido de Férias 1.710,61 |
| 271 1/3 de Férias no Mês 469,95 | 1055 Faltas (DSR) 1,00 49,00 |
| 1403 Indenização Horas Itinere 10,00 66,82 | |
+----------------------------------------------------------------------------------------------------------------------------+
| Base INSS Empresa: 2.168,67 Base INSS Func.: 2.168,67 Base INSS Func 13o Sal: 0,00 |
| Base FGTS 13o: 0,00 Base F.G.T.S.: 2.168,67 F.G.T.S.: 173,49 |
| Base IRRF: 288,88 Deducoes: 215,59 |
| Proventos: 2.266,67 Descontos: 2.003,79 Liquido: 262,88 |
+----------------------------------------------------------------------------------------------------------------------------+
| Proventos: 1.298,40 Descontos: 103,87 Liquido: 1.194,53 |
+----------------------------------------------------------------------------------------------------------------------------+
The part of extracting the data, for example Cod, Name, salary and the others I am able to do, reading line by line and using index, but I do not know if it is the ideal way or pythonica to do. Follow my code until then:
folha = open("xxxxx.txt")
linhas = folha.readlines()
list_func = []
#nome = linhas[linhas.find("nome:")+len("nome:"): linhas.find("Funcao:")+len("Funcao:")]
for i in range(0, len(linhas)):
linha = linhas[i]
try:
cod = linha[ linha.index("Cod:")+len("Cod:"): linha.index("Nome")]
nome = linha[linha.index("Nome:")+len("Nome:"): linha.index("Funcao")]
funcao = linha[linha.index("Funcao:")+len("Funcao:"): linha.index("Dep.IR")]
except:
funcionario = { 'Cod' : cod, 'Nome' : nome}
print("Nome: " + funcionario['Nome'] + "Código: " + funcionario['Cod'])
My question is how I can separate employees by employee and play in an array, because I know the employee data starts at 'Cod' and end in 'Liquid', how can I do this check? I would like a tip
Wow, it’s simpler than I was imagining, thank you very much friend.
– Gustavo Halmer