Profilo di G71553N

Nome G71553N
Indirizzo email n/a
Messaggi2
  • Re: Modulo XLRD
    Forum >> Principianti
    lo sto riscrivendo da capo e ancora non ottengo quello che mi servirebbe....
    praticamente si dovrebbe adattare a più tipi di file xls, ma il programma che ho provato a riscrivere va bene solo per un xls con 3 colonne, non esiste un modo per adattarlo in maniera che legga da solo i dati fino a EOF?



    import xlrd
    import time
    from xlrd import open_workbook
    
    def main():
        print"*--------------------------------------------------------------------*"
        print " "
        print "  ", time.ctime(), "#XXX V1.0 - Gestionale Catalogo#"
        print " "
        print"*--------------------------------------------------------------------*"
        a = None
        a = raw_input('cosa stai cercando? ')
        print " "
        xls=open_workbook('C:\Users\XXX\Desktop\Cartel1.xls')
    
    
    
    
        for sheets in xls.sheets():
            list1=[]
            for col in range(sheets.ncols):
                for rows in range(sheets.nrows):
                    list1.append(sheets.cell(rows, col).value)
    #print(list1)
        for i in list1:
            #print(i)
        
            list2 = []
        for col in range(sheets.ncols):
            list2.append(sheets.cell(rows, col).value)
            #print list2
    
    
    
        colonna1 = sheets.col(0)
        colonna2 = sheets.col(1)
        colonna3 = sheets.col(2)
    #print colonna1
    #print colonna2
    #print colonna3
        colonnaA = []
        colonnaB = []
        colonnaC = []
        colonnaA1B = []
        colonnaB1B = []
        colonnaC1B = []
    
        for item in colonna1:
            colonnaA1 = str(item)
            colonnaA1B.append(colonnaA1)
        
        for item in colonna2:
            colonnaB1 = str(item)
            colonnaB1B.append(colonnaB1)
        for item in colonna3:
            colonnaC1 = str(item)
            colonnaC1B.append(colonnaC1)
    #------------------------------------------------------#    
    
    
    
        key =  [x for x in colonnaA1B if a in x]
        for item in key:
                b = item.strip('[]')
                c = colonnaA1B.index(b)
                data1 = colonnaA1Bc
                data2 = colonnaB1Bc
                data3 = colonnaC1Bc
                #print colonnaA1Bc, colonnaB1Bc, colonnaC1Bc
                #print data1, data2, data3
                data1 = data1.strip('text:u')
                data1 = data1.strip('number:')
                data1 = data1.strip("''")
                data2 = data2.strip('text:u')
                data2 = data2.strip('number:')
                data2 = data2.strip("''")
                data3 = data3.strip('text:u')
                data3 = data3.strip('number:')
                data3 = data3.strip("''")
                print data1, data2, data3
                torna()
    
    
    
    def torna():
        
        print " "
        x = raw_input("Cerca un altro articolo? ")
        print " "
        if x == 'y':
            main()
        else:
            esci()
        
                
        
    def esci():
        print " "
        print "Ciao bello!"
        print " "
        time.sleep(3)
        print "Mi sto spegnendo..."
    
    
    
    main()
    
  • Modulo XLRD
    Forum >> Principianti
    Ciao a tutti!

    Scrivo qui perché sono disperato, a lavoro mi sono trovato a dover fare manutenzione su un programma che usa il modulo in questione.
    Il programma è abbastanza semplice in se, legge un file xls con 4 colonne ed N righe, ed esegue una ricerca per nome "printando" la riga corrispondente al valore cercato.
    Ora il problema è che "qualcuno" ha cancellato o incasinato il programma ( in python 2.7 ) e non riesco nemmeno più a raccapezzarmi dato che non conosco nemmeno il modulo...
    Qualcuno avrebbe la 'pietà' di darmi un idea, una soluzione o un aiuto? ;(
    note:
    il file xls ha 4 colonne ed n' righe, è praticamente un catalogo prodotti, tramite ricerca di una parola o parte della stessa contenuta nella colonna 0 dovrei avere un output cosi:
    col 0 col1 col2 col3
    parola ricercata dati1 dati2 dati3
    import xlrd
    import time
    print time.ctime()
    print " "
    ser = raw_input('Cosa stai cercando? ')
    ser2 = str(ser)
    MyFile = xlrd.open_workbook('C:\Users\USER\Desktop\Cartel1.xls')
    MySheet = MyFile.sheet_by_index(0)
    itemcol = MySheet.col_values(0)
    listap = []
    listap2 = []
        
    for item in itemcol:          #valori colonna 0
            listap.append(item)   #lista valori colonna 0 non formattati
            
    
    for item in listap:           #formattazione lista valori
     fold =str(item)
     listap2.append(fold)  #creazione lista valori formattata
     
    #if any(ser2 in s for s in listap2):
    #    print "si"
    
    if any(ser in s for s in itemcol):
            
        
     
     
    #----------funzionante ma non utilizzabile----------------#
    #try:
        
    #    if listap2.index(ser2) >= 0:
    #        print"ci siamo"
    #    else:
    #        print 'non trovato'
    #except ValueError:
    #    print " "
    #    print"articolo non trovato"
    print " "
    print'elenco fogli:', MyFile.sheet_names()
    print " "
    print "numero di righe nel file:", MySheet.nrows