Buona sera lista, ho risolto in parte la mia precedente richiesta Moduli xlrd e (xlwt non funzionante) ma, ora mi trovo ad affrontare un altro problema con i file di excel.
Premessa: xlrd compatibile con python 3 - Per leggere un file excel xlwt non è compatibile con python 3 - Per modificare un file excel xlsxwriter compatibile con python 3 - Solo per creare un file excel ma non per modificarlo Quindi: La prima volta che lancio excel.py (allegato) creo il file coordinate.xlsx e inserisco nel foglio Coordinate i valori delle variabili. La seconda volta che lancio excel.py il file coordinate.xlsx esite già e il programma dovrebbe inserire i valori delle variabili nella prima riga vuota del foglio Coordinate, ma come faccio visto che non ci sono moduli per modificare un file excel già esistente? Potrei trovare la prima riga vuota con xlrd e non ho capito ancora come e poi, come inserisco i valori in questa riga? Saluti e grazie andrea
#!/usr/bin/python # -*- coding: utf-8 -*- # Questa porzione del codice, crea e scrive un file excel con estensione .xlsx e per farlo si serve del modulo xlsxwriter che non è presente fra i moduli standard, # quindi si è reso necessario scaricare ed installare il pacchetto python3-xlsxwriter import os import xlsxwriter # Dichiero le variabili nome = "Franz Tappeiner" descrizione = "Ospedale Civile di Merano (BZ)" g_p_s = "46° 40' 36.7'' N - 11° 9' 6.3'' E" g_p = "46° 40.6116667' N - 11° 9.105' E" g = "46.6768611° N - 11.15175° E" web = "46.6768611,11.15175" nmea = "4640.6117,N, 01109.1050,E" url = "https://www.google.com/maps/preview?q=" + web riga = [nome, descrizione, g_p_s, g_p, g, nmea] # Creo una lista con tutte le variabili da inserire nel foglio 1 print() # Con questa istruzione controllo che il file coordinate.xlsx non esiste e se è vera lo creo e inserisco le variabili if not os.path.isfile('coordinate.xlsx'): workbook = xlsxwriter.Workbook('coordinate.xlsx') # Crea il file coordinate.xlsx foglio1 = workbook.add_worksheet("Coordinate") # Crea il primo foglio foglio2 = workbook.add_worksheet("Note") # Crea il secondo foglio # Inserisce i seguenti metadati nel file coordinate.xlsx (queste righe di codice sono una unica istruzione) workbook.set_properties({ 'title': 'Coordinate geografiche', 'subject': 'Inserite da Python', 'author': 'Andrea', 'manager': 'Andrea', 'company': 'of Wolves', 'category': 'Archivio', 'keywords': 'Coordinate geografiche - Archivio', 'comments': 'Archivio delle coordinate geografiche che nel tempo sono state convertite con il programma coordinate.py scritto in Python 3.4.0'}) # Foglio1 # Formattazioni intestazioni = workbook.add_format({'bold': 1, 'border': 1, 'align': 'center', 'valign': 'vcenter', 'fg_color': 'cyan'}) # Grossetto, bordo, allineamento orizzontale, allineamento verticale e colore della cella importati = workbook.add_format({'valign': 'vcenter', 'font_size': 9}) # font_size ridimensiona il caratte a 8 formato_web = workbook.add_format({'valign': 'vcenter', 'font_size': 9, 'font_color': 'blue', 'underline': 1}) # Colore del carattere, sottolineatura foglio1.set_column('A:A', 20) # Larghezza della colonna a 20 foglio1.set_column('B:B', 40) foglio1.set_column('C:G', 30) # Intesta le colonne foglio1.merge_range('C1:E1', 'COORDINATE GEOGRAFICHE', intestazioni) # Unisce da C1 a E1, Inserisce COORDINATE GEOGRAFICHE e formatta con intestazione foglio1.write('A2', "NOME", intestazioni) foglio1.write('B2', "DESCRIZIONE", intestazioni) foglio1.write('C2', "GRADI PRIMI E SECONDI", intestazioni) foglio1.write('D2', "GRADI E PRIMI", intestazioni) foglio1.write('E2', "GRADI", intestazioni) foglio1.write('F2', "STRINGA NMEA", intestazioni) foglio1.write('G2', "COORDINATE PER IL WEB", intestazioni) # Inserisce i dati degli input e quelli elaborati nel foglio1 (Coordinate) foglio1.write_row('A3', riga, importati) foglio1.write_url('G3', url, formato_web, web) #Foglio2 # Formattazioni note = workbook.add_format({'valign': 'vcenter', 'font_size': 14}) foglio2.set_column('A:A', 100) # Inserimento delle note foglio2.write('A2', "Questo file è stato generato dal programma scritto in Python 3.4.0", note) foglio2.write('A4', "Il programma in questione è coordinate.py", note) foglio2.write('A5', "Ha la funzione di archiviare tutte le coordinate geografiche che nel tempo sono state convertite", note) workbook.close() # Chiude il file print("Ho creato il file coordinate.xlsx e ho esporto i valori inseriti e le loro conversioni") print() else: pass # Qui dovrei inserire le istruzioni per inserire le variabili nella prima riga vuota del file coordinate.xlsx
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python