Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

safadão

LOOP NO XLRD (MANIPULANDO ARQUIVO)

Recommended Posts

E ae galera salve salve, Sou novo no python e estou com um probleminha que ta me tirando do serio... É o seguinte, quero pegar as strings de um arquivo e comparar os elementos dela com as frases escritas nas planilhas do meu arquivo xlsx. Só que as strings do arquivo irão ter o que está escrito na planilha mais alguns códigos.Quero que o programa faça o seguinte: Se na linha do arquivo tem o que esta na coluna que estou percorrendo: faça a instrução else: pule para a proxima linha

Segue o código:

#!/usr/bin/python
    import subprocess
    import xlrd

    arquivo = open("/home/weslei/Documentos/t.txt", "r")
    read = arquivo.readlines()

    xls = xlrd.open_workbook('chips.xlsx')
    plan = xls.sheets()[0]
    b =  plan.col(0)

    for i in read:
       for n in b:
       if n == i[20:57]:
           print "instrucao"
       else:
           print "next"

O arquivo que eu estou lendo tem esse conteudo:

    |7891515433963     |AMENDOIM SEM PELE MANIX 40G          |UN|34119/6|AF  4,9900|
    |7897846301872     |AREIA HIG ABSORCAT             4KG   |UN|32306/2|AF  7,9900|
    |7898948468012     |ARROZ CARRIJO TIPO1            5KG   |UN|32471/7|AF 13,8000|
    |7896290300974     |ARROZ PRATO FINO ORGAN INTEG 1K UN   |UN|33908/7|AF 14,9500|
    |7896290300318     |ARROZ PRATO FINO PARBOLIZADO   2KG   |UN|32034/4|AF  8,7500|
    |7896290300295     |ARROZ PRATO FINO PARBOLIZADO 1K UN   |UN|32185/3|AF  4,3900|
    |0000000000000     |ARROZ PRATO RICO AGULINHA 5KG        |UN|34335/0|AF  0,0000|

E a planilha:

ELMA CHIPS  
AMENDOIM SEM PELE MANIX 40G 1,79
BACONZITOS 55G  3,68
*BACONZITOS 110G    6,15
*BATATA SENSAÇÃO FG.GRELH. 90G  6,15
*CEBOLITOS 60G  3,68
*CEBOLITOS ASSADO 110G/120G 6,49
*CHEETOS 51G/ 55G/57G/59G/61G    2,49 
*CHEETOS  130G/150G/160G    6,28
*DEMONTÃO RUFLES BACON. 75G 4,45
*DORITOS 55G    3,65
*DORITOS QUEIJO 96G/110G/100G   6,25
*DORITOS QUEIJO NACHO 167GR 9,98
*DORITOS  200G/220G 9,98
*FANDANGOS 63G   2,45 
*FANDANGOS PRESUNTO/QUEIJO 175G 6,25
*FANDANGOS PRESUNTO 164GR   6,25
*PANETINI PRESUNTO / QUEIJO 40G 1,89
*PINGO D'OURO 65G   2,99
*PINGO D'OURO 90G   3,68
*RUFFLES 90G/100G   6,15
RUFFLES 96GR    6,15
*RUFFLES 175G    9,98 
*RUFFLES 57/50G  3,50 
*SALGADINHOS TORCIDA 60/50G 1,75

Detalhe: O programa emite a saida das colunas como text:u'*SALGADINHOS TORCIDA 60/50G' todas as colunas saem com o text:u , causando o erro na iteração pq no arquivo nao tem text:u.

sei que ficou um pouco grande galera mas tentei nao deixar passar nenhum detalhe, ja procurei solução em tudo e qualquer canto e nao achei, se conseguirem me ajudar ficarei muito grato! obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por LuizH.M
      from urllib.request import urlopen   response = urlopen("http://vimeo.com/api/v2/video/57733101.json").read().decode('utf8') dados = json.loads(response)[0] print(dados)   print('Titulo: ',dados['title']) print('URL: ',dados['url']) print('Duração',dados['duration'])     a parte do json fala que não está definida   me ajudem pls    estou usando o visual studio
       
    • Por biza
      Boa tarde, 
      tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.
      Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.
      Será que alguém me pode auxiliar a resolver isto!
      Obrigado.

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por vicente386
      Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ?
      estou tentando fazer assim:
      <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
    • Por Marcosvn
      Quero desenvolver um site semelhante a esse: https://www.catalogosofertas.com.br/ 
       
      No qual eles enviam diversas ofertas e encartes recentes de lojas em geral e supermercados. Eles possuem muito conteúdo que são atualizados frequentemente, no entanto, muitos dos supermercados, por exemplo, não possuem os folhetos de cada cidade em seus sites. De modo que pudesse criar um scraper pra ficar acompanhando as atualizações. 
       
      Ao mesmo tempo não imagino que eles tenha muitos funcionários fazendo isso, pois são muitas lojas e supermercados que o encarte vence em alguns dias. Oq me faz pensar que manualmente é inviável manter as atualizações.
       
      Queria saber de vocês, que tem experiência com a área ou mesmo que já tenham trabalhado em projetos semelhantes, como posso me organizar para fazer isso acontecer assim como no site de exemplo: https://www.catalogosofertas.com.br/ 
       
      Como posso fazer isso ? Realmente teria q ficar criando diversos scraper e códigos pra ficar acompanhando os encartes de cada loja e supermercado?
       
      Qual dica, sugestão , orientação poderá me ser muito útil, pois estou confuso sobre como fazer isso acontecer.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.