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

Reply via email to