Forum >> Principianti >> Aiuto Tesi!!!

Pagina: 1

Buongiorno a tutti, vi scrivo perchè avrei bisogno di un piccolo aiuto riguardo la Tesi. Per lo svolgimento di quest'ultima ho dovuto imparare ad utilizzare il linguaggio di programmazione python (che non avevo mai usato) per scrivere un piccolo codice che, da un file excel composto da una serie di fogli, mi legge i dati e mi crea un file XML con determinate caratteristiche da poter dare poi in pasto ad un risolutore ottimo. Mi rimangono 2 problemini che non riesco ad eliminare e per i quali vi chiedo se qualcuno potesse darmi una mano
1) usando la funzione "outfile.write(str(worksheet.cell(x,y).value)" se nella cella corrispondente c'è il valore 10 nel file di output viene scritto 10.0. Questo problema esiste soltanto quando il valore all'interno della cella è calcolato tramite una formula nel file excel. Ovviamente tutte le celle sono in formato testo. Come faccio ad eliminare quel .0?
2) devo scrivere un pezzo di codice che scorra una lista di numeri e mi stampi il numero che trova se e solo se non è mai stato trovato prima. (esempio stupido se ho 1 4 3 1 3 1 voglio come output 1 4 3). Pensavo quindi di creare un vettore dove salvare i numeri che stampo e di inserire una condizione if numero assente stampa e salva else continue. Può essere la strada giusta o esistono metodi migliori?
Ringrazio in anticipo chi sarà così cortese da rispondermi, se fossi stato poco chiaro chiedetemi pure (se volete vi allego anche i file)! Buona giornata!
Ciao caro e benvenuto.

1. Potresti semplicemente trattarlo come un int(), tipo outfile.write(str(int(worksheet.cell(x,y).value)). Fai qualche prova, potrei aver messo qualche parentesi nel posto sbagliato.

2. Non puoi semplicemente usare set()?

>>> list(set([ 1,4,3,1,3,1]))
[1, 3, 4]

In bocca al lupo per la tesi.
Daniele
Grazie mille e crepi il lupo! Mi ero scordato di controllare se qualcuno avesse risposto dato che avevo già risolto prima!
Per il punto 1) ho fatto esattamente come hai detto te, mentre per il punto 2) ho risolto così:


valoriunici=[ ]
for index in range (...):
valorecorrente=worksheet.cell(index.13).value #(primo valore della colonna che sicuramente ci va)
if not valorecorrente in valoriuniuci:
valoriunici.append(valore corrente)
outfile.write ecc...


Grazie comunque per l'aiuto gentilissimo!


Pagina: 1



Esegui il login per scrivere una risposta.