chp.decode('utf8') +\ " (" + tipo +\ ", Lg. = " + unicode(dico_champs[chp][1]) +\ ", Pr. = " + unicode(dico_champs[chp][2]) + ") ; " continue # Once all fieds explored, wirte into the output file feuy1.write(lig, 11, champs) # And go to the next line lig = lig +1 ## Save the Excel file # Prompt of folder where save the file saved = savefic(initialdir= cible, defaultextension = '.xls', initialfile = "DicoShapes_" + today + "_", filetypes = [("Classeurs Excel","*.xls")]) if path.splitext(saved)[1] != ".xls": saved = saved + ".xls" book.save(saved) ## Log information to the user if dico_err.keys() == []: # s'il n'y a pas d'erreur info(title=u"Fin de programme", message=u"Programme terminé.\ \nAucune erreur rencontrée.") else: # s'il y a des erreurs, création d'un fichier log fic = open(cible + "\\" + today + "_dico-shapes_log.txt", 'w') dump("Erreurs rencontrées sur les tables suivantes : \n\n", fic) fic.write('/n/n') dump(dico_err, fic) fic.close()
##### Création du fichier excel print "Création et configuration du fichier excel" book = xlwt.Workbook(encoding = 'Latin-1') feuy1 = book.add_sheet('Frequences', cell_overwrite_ok=True) font1 = xlwt.Font() # création police 1 font1.name = 'Times New Roman' font1.bold = True entete = xlwt.XFStyle() # création style pour les en-têtes entete.font = font1 # Intitulés feuy1.write(0,0,chp_cible, entete) feuy1.write(0,1,'Occurences', entete) ###### Inscription dans un fichier excel print "Inscription des fréquences dans le fichier excel" x, y = 0, 0 for clef, valeur in dico_occurences.items(): feuy1.write(x+1,y, clef) feuy1.write(x+1,y+1, valeur) x = x+1 ##### Sauvegarde du fichier excel cible = savefic(filetypes=[("Classeurs Excel","*.xls")]) if path.splitext(cible)[1] != ".xls": cible = cible + ".xls" book.save(cible) info(title="Operation terminee.", message="Calcul termine. Fichier excel sauvegarde . " + cible) annuler()
feuy1.write(lig, 7, nbr_chps) feuy1.write(lig, 11, champs) feuy1.write(lig, 8, int(str(count_obj(shape)))) # compte le nombre d'objets feuy1.write(lig, 9, desc.hasM) # indique si le shape possède un feuy1.write(lig, 10, desc.hasZ) # indique si le shape possède des données d'altitude except: # gestion des erreurs l_err.append(shape) # liste des shapes qui renvoient des erreurs feuy1.write(lig, 0, desc.basename) lien = 'HYPERLINK("' + desc.path + '"; "Atteindre le dossier")' # chemin du dossier contenant formaté pour être un lien feuy1.write(lig, 1, Formula(lien), hyperlien) feuy1.write(lig, 2, "ERREUR", entete) lig = lig +1 ## Sauvegarde du fichier excel saved = savefic(initialdir= cible, filetypes=[("Classeurs Excel","*.xls")]) if path.splitext(saved)[1] != ".xls": saved = saved + ".xls" book.save(saved) ## Bilan programme if l_err == []: # s'il n'y a pas d'erreur info(title=u"Fin de programme", message=u"Programme terminé.\nAucune erreur rencontrée.") else: # s'il y a des erreurs, création d'un fichier log from datetime import date fic = open(cible + "\\" + str(date.today()) + "_dico-shapes_log.txt", 'w') fic.write("Erreurs rencontrées sur les shapes suivants : \n\n") for i in l_err: fic.write(i.encode("utf-8")) fic.write("\n-------------------------\n") fic.close()