LOOP NO XLRD (MANIPULANDO ARQUIVO)

42 views
Skip to first unread message

Weslei souza

unread,
Oct 13, 2016, 3:56:26 PM10/13/16
to PUG-MG

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 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.


Luciana Fujii

unread,
Oct 13, 2016, 4:36:51 PM10/13/16
to pyth...@googlegroups.com
Oi Weslei,

Não conheço muito xlrd, mas dá uma olhada nessa pergunta: http://stackoverflow.com/questions/14617477/the-col-output-in-xlrd-printing-something-with-appears-to-be-xf-formatting-text. Você quer pegar col_values ao invés de col.

Você também pode usar:

with open("/home/weslei/Documentos/t.txt”) as arquivo:

Pra não precisar fechar o arquivo explicitamente depois.

E funciona fazer:

for line in arquivo:

[]s

Luciana Fujii



--

---
Você recebeu essa mensagem porque está inscrito no grupo "PUG-MG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-mg+...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/python-mg.
Para mais opções, acesse https://groups.google.com/d/optout.

Tiago Guimarães

unread,
Oct 20, 2016, 12:59:15 PM10/20/16
to PUG-MG
Weslei,

isso daí é um arquivo SPED?
Se for, tem um site que converte qualquer arquivo SPED para Excel, gratuitamente:
https://spedauditor.com.br

Eu sou o responsável pelo site. Se vc tiver qualquer dúvida vamos conversar!  ;)
Reply all
Reply to author
Forward
0 new messages