Ir para conteúdo
Fórum Script Brasil

Lagluck

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Tudo que Lagluck postou

  1. Putz...é fato!!! Simples demais e eu nem pensei nisso...rsrsrs Cara, obrigado demais!
  2. Boa tarde pessoal, Estou com o seguinte problema, Tenho um arquivo txt que percorre várias linhas, sendo que em minha tratativa utilizo cada linha como um item de um list, e em cada linha tenho campo, sendo que cada campo é um subitem deste list, exemplo: linha0 linha0 campo1 linha0 campo2 Estou fazendo um for para que percorra todas as linhas e tenho um uma lista do que deverá ser excluído, exemplo exclusoes = [2300,1230,2440] fiz um for que percorra todo o txt e suas linhas, de modo que, cada vez que o campo 1 tiver o mesmo conteúdo que qualquer item da list (do txt) irá excluir a linha: for i in range(len(txt)): if txt[1] in exclusoes: del txt O problema é que, ao excluir, a lista fica desordenada, pois exclui um item e os índices já não batem mais, gerando o erro ...blablabla... "list index out of range" Como posso fazer essa exclusão? Devo reindexar a lista a cada exclusão? Visto que existe um "for" percorrendo a lista e verificando os conteúdos? Desde já agradeço qualquer ajuda.
  3. Me desculpem, na correria acabei não tendo tempo de lhes agrader aqui... A solução do Sobrals resolveu bem o problema... Vlw gente!!!
  4. Boa tarde, Pessoal eu andei uma procurada mas não achei nada, estou procurando alguma função em Python que busque, dentro de uma string, apenas os números, devolvendo estes como retorno. Alguém sabe se existe? Obs: eu verifiquei que existe a isdigit(), mas ela retorna um boolean.. Obg,
  5. Arlen, Terminei o código e deu tudo certo... Primeiramente gostaria de agradecer demais pela sua grande ajuda, foi realmente fui valiosa para eu entender o que deveria fazer a partir dali... Estou iniciando em programação agora então ainda não tenho muita experiência, este foi meu primeiro ingresso em um fórum para obter ajuda em algo e tive uma ótima primeira impressão graças a ti. Abaixo está o código que eu fiz e vou deixar aqui pra ajudar alguém que possa precisar no futuro, ele tem alguns "por menores" para acertar questões de posicionamento dos itens e também para não haver duplicidades dos valores já somado ou mesmo criar itens duplicados dos que não dever ser somados (por exemplo apenas um item na NF)... (para que for utilizar este código, antes de tudo é necessário criar o lista1 e lista2 da fazer um sort organizando pela NF - em meu exemplo campo [11]) for i in range(len(lista1)): for j in range(i + 1, len(lista2)):" if lista1[11] == lista2[j][11]: if lista1[11] == lista2[j-1][11] and lista1[11] != lista2[j-2][11]: valor = lista2[9] + lista2[j][9] else: valor += lista2[j][9] if len(listaFinal) != 0 and listaFinal[len(listaFinal)-1][11] == lista1[11]: listaFinal[len(listaFinal)-1][9] = round(valor,2) else: valor = lista1[9] + lista2[j][9] listaFinal.append(lista1) listaFinal[len(listaFinal)-1][9] = round(valor) else: if (j + 1 == len(lista2)): listaFinal.append(lista1[j]) elif valor != 0: pass else: listaFinal.append(lista1) valor = 0 break Grande abraço. Sucesso!!!
  6. Vou testar esse Arlen, De qualquer modo já agradeço sua ajuda... Att.:
  7. ArteEN, Me perdoe a demora do reply... Na verdade eu fiz uma ordenação em lista[11] (string da NF)... Tentei algo do tipo: for i in range (0,len(lista1)): for j in range(i +1,len(lista1)): if lista1[11] == lista2[j][11]: lista2[j][9] = lista1[9] + lista2[j][9] listaFinal.append(lista2[j]) del lista1 Mas com certeza a logica que estou usando está incorreta, não estou conseguindo entrar num acordo aqui.. Com estes encadeados ele vai dar quebra de index ou então não percorre todos. O que estou tentando é algo que percorra em j cada item do i, mas ao localizar, some unificando e exclua a linha que já foi verificada (que está numa lista secundaria criada pra isso). Qualquer ajuda é muito bem vinda... Vlws ;) Arlen, Na vdd eu copei a linha errada aqui no forum, tinha mais um par de "" que na hora que eu cole não pus aqui...entre Compra e NFE e outro entre TESTE e o campo que mencionou... As posições são essas mesmo... Vou copiar a linha correta... [1.0, 40912.0, 8810.0, 1.0, 1.0, 1.0, 'Debito ', 213103.0, '', 3102.63, 'Compra', 'NFE: 000009110 / 002 FILMTEC', 21143010.0, '', 'LI8150', '', ''] [1.0, 40912.0, 8810.0, 1.0, 3.0, 1.0, 'Debito ', 213103.0, '', 30.4, 'Compra', 'NFE: 012290 / 0 PENTAIR HIDRO', 21143002.0, '', 'LI8150', '', ''], [1.0, 40912.0, 8810.0, 1.0, 3.0, 1.0, 'Debito ', 213103.0, '', 1003.2, 'Compra', 'NFE: 012290 / 0 PENTAIR HIDRO', 21143002.0, '', 'LI8150', '', ''], [1.0, 40912.0, 8810.0, 1.0, 3.0, 1.0, 'Debito ', 213103.0, '', 1033.6, 'Compra', 'NFE: 012290 / 0 PENTAIR HIDRO', 21143002.0, '', 'LI8150', '', ''] Eu até consegui avançar um pouco na questão... Mas o que esta complicado é o fato de que eu preciso unificar os valores corretamente, ou seja, enquanto o número da NF (lista1[11]) for igual ao lista2[j[11]]) eu vou somando... O problema é que não estou conseguindo fazer com que funcione corretamente esta unificação.
  8. ArteEN, Me perdoe a demora do reply... Na verdade eu fiz uma ordenação em lista[11] (string da NF)... Tentei algo do tipo: for i in range (0,len(lista1)): for j in range(i +1,len(lista1)): if lista1[11] == lista2[j][11]: lista2[j][9] = lista1[9] + lista2[j][9] listaFinal.append(lista2[j]) del lista1 Mas com certeza a logica que estou usando está incorreta, não estou conseguindo entrar num acordo aqui.. Com estes encadeados ele vai dar quebra de index ou então não percorre todos. O que estou tentando é algo que percorra em j cada item do i, mas ao localizar, some unificando e exclua a linha que já foi verificada (que está numa lista secundaria criada pra isso). Qualquer ajuda é muito bem vinda... Vlws ;)
  9. Pessoal.. Alguém pode consegue ajudar nessa questão? Vlws ;)
  10. Boa tarde pessoal, Estou com um problema que está um tanto quanto complicado para mim... Sou iniciante em Python e estou desenvolvendo uma aplicação que pega os registros do excell e busca as linhas que possuem numero de Nota Fiscal repetidas e totaliza esses valores.. Estou partindo da ideia de que devo utilizar Loops encadeados, para que, com esta estrutura eu possa buscar cada registro da planilha que possuo, verifique se existem outros registros e caso tenha irei somar os valores, tendo que manter apenas um deles. Já tentei diversas opções mas não tenho muita ideia de como fazer... O formato dos registros: [1.0, 40911.0, 8810.0, 1.0, 10.0, 1.0, 'Debito', 213103.0, 2849.42,'Compra', 'NFE: 014612 / 1 EMPRESA TESTE', '1126P063'," '', 'LI8150'," ''," ''] Estes campos em vermelho (por exemplo no for seria lista[9] para o valor e lista[11] para a NF) são os campos que estã envolvidos no processo de verificação. Agradeço qualquer ajuda. Abraço
×
×
  • Criar Novo...