Advertisement
maurobaraldi

CNAB Processing File

Mar 19th, 2014
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.73 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. #Header do arquivo de conciliação
  3.  
  4. header = '02RETORNO01COBRANCA       00000000000000602553INST BRAS DE COMUN CRISTA INBR237BRADESCO       3110130160000004001'
  5.  
  6.  
  7. def parse_header(line):
  8.  
  9.     head = {
  10.         u'ID Registro': header[0:1],
  11.         u'ID Arquivo': header[1:2],
  12.         u'Remessa': header[2:9],
  13.         u'ID Servico': header[9:11],
  14.         u'Servico': header[11:26],
  15.         u'ID Empresa': header[26:46],
  16.         u'Razao': header[46:76],
  17.         u'ID Banco': header[76:79],
  18.         u'Banco': header[79:94],
  19.         u'Data Arquivo': header[94:100],
  20.         u'None': header[100:107],
  21.         u'ID Sistema': header[107:109],
  22.         u'Sequencia Remessa': header[109:116],
  23.         u'None': header[116:393],
  24.         u'ID Sequencia Registro': header[393:399]
  25.     }
  26.  
  27. def parse_line(line):
  28.  
  29.     line = {
  30.         u'ID Registro': line[0:1],
  31.         u'Agencia': line[1:6],
  32.         u'Digito Agencia': line[6:7],
  33.         u'Razão Conta': line[7:12],
  34.         u'Conta Corrente': line[12:19],
  35.         u'Digito Conta Corrente': line[19:20],
  36.         u'Empresa Cedente': line[20:37],
  37.         u'Participante (userid)': line[37:62],
  38.         u'Codigo Banco': line[62:65],
  39.         u'Multa': line[65:66],
  40.         u'Multa %': line[66:70],
  41.         u'ID Titulo': line[70:81],
  42.         u'Conferencia': line[81:82],
  43.         u'Desconto': line[82:92],
  44.         u'Condicao Emissao': line[92:93],
  45.         u'Debito em conta': line[93:94],
  46.         u'Operacao': line[94:104],
  47.         u'Rateio Credito': line[104:105],
  48.         u'Aviso Debito': line[105:106],
  49.         u'None': line[106:108],
  50.         u'ID Ocorrencia': line[108:110],
  51.         u'Documento': line[110:120],
  52.         u'Data': line[120:125],
  53.         u'Valor': line[125:138],
  54.         u'Banco Cobrança': line[138:141],
  55.         u'Agencia Depositaria': line[141:146],
  56.         u'Tipo Titulo': line[146:148],
  57.         u'Identificacao': line[148:149],
  58.         u'Emissao': line[149:155],
  59.         u'Instrucao 1': line[155:157],
  60.         u'Instrucao 2': line[157:159],
  61.         u'Valor Atraso': line[159:172],
  62.         u'Data Desconto': line[172:178],
  63.         u'Valor Desconto': line[178:191],
  64.         u'IOF': line[191:204],
  65.         u'Abatimento': line[204:217],
  66.         u'Tipo Sacado': line[217:219],
  67.         u'CPF CNPJ': line[219:233],
  68.         u'Nome Sacado': line[233:273],
  69.         u'Endereco Sacado': line[273:313],
  70.         u'Mensagem 1': line[313:325],
  71.         u'CEP Sacado': line[325:330],
  72.         u'Sufixo CEP': line[330:333],
  73.         u'Mensagem 2': line[333:393],
  74.         u'Sequencial': line[393:399],
  75.     }
  76.  
  77.     for i, j in line.iteritems():
  78.         print '%s > %s' % (i, j)
  79.  
  80. registry = '1026927184900010400000060262100064955                         0000000000002090143P0000000000000000000000000606311013          0000000000002090143P000000000000000250034100741  000000000000000000000000000000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000   011113             00000000000000                                                                  000002'
  81.  
  82.  
  83. if __name__ == '__main__':
  84.     parse_line(registry)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement