G71553N
Profilo di
Nome | G71553N |
---|---|
Indirizzo email | n/a |
Messaggi | 2 |
-
- 2015-12-23 16:22:26
- 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()
-
- 2015-12-23 11:11:21
- 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 dati3import 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