Olá,
Sou novo no fórum e preciso de ajuda.
Comecei a usar python há pouco tempo, para manipular arquivos de texto muito grandes e, precisando formatar determinado arquivo, fiz uma rotina que após validar determinada linha, deve gravar (ou não) essa linha num arquivo de resultado, que embora me entregue o arquivo formatado como eu preciso, pula alguns registros.
Notei a falta de alguns poucos registros e consigo acha-los com o comando grep.
Alguém sabe me dizer porque essa diferença? Por quê o grep encontra e o python não? Alguém já viu algo do tipo? Estou usando/fazendo algo errado?
Agradeço desde já.
Segue o código:
***************************************************************************************************************************************************************************
path='C:\\dev\\projetos\\*.*'
files=glob.glob(path)
import datetime, glob
for file in files:
with open(file, 'r') as arquivo:
print 'Inicio:', datetime.datetime.now().strftime('%Y/%m/%d - %H:%M:%S'), ' - ', arquivo
for line in arquivo:
with open('Resultado', 'a') as gravar:
if line[1594:1604] != '' and line[1594:1604] != '0000000000':
gravar.write(file[69:73] + ';' + line[8:25] + ';' + line[58:60] + ';' + line[93:96] + ';' + line[97:112] + ',' + line[112:114] + ';' + line[1594:1604] + '\r')
print "Fim:", datetime.datetime.now().strftime('%Y/%m/%d - %H:%M:%S'), ' - ', arquivo
***************************************************************************************************************************************************************************