Accademia:Log 2011 05 18

[23:01:33] <Stemby> 'sera
[23:01:43] <Stemby> scusate ma anche stasera ho fatto tardissimo
[23:01:43] <amosse> Ciao
[23:01:49] <Stemby> solo tu amosse??
[23:01:54] <amosse> yes
[23:02:15] <Stemby> dai, direi che diamo un'occhiata al tuo script e a quello di brunology
[23:02:20] <Stemby> sistemiamo qualcosina
[23:02:23] <Stemby> e poi a nanna
[23:02:30] <Stemby> d'accordo?
[23:02:37] <amosse> ok
[23:02:52] <Stemby> gobby
[23:03:20] <amosse> ok
[23:05:28] <Stemby> allora
[23:05:59] <Stemby> nello script di amosse, c'era inserita una funzioncina che permetteva di convertire un numero in base 2 in un numero in base 10
[23:06:10] <Stemby> è un esercizio utile e interessante
[23:06:16] <Stemby> utile come esercizio
[23:06:25] <Stemby> ma inutile per un uso quotidiano
[23:06:33] <Stemby> perché c'è già tutto preconfezionato
[23:07:13] <Stemby> http://docs.python.org/release/3.1.3/library/index.html
[23:07:29] <Stemby> capitolo 2: built-in functions
[23:07:36] <Stemby> cosa sono le funzioni built-in?
[23:07:52] <Stemby> amosse?
[23:08:09] <amosse> funzioni precostituite
[23:08:16] <amosse> nel linguaggio
[23:08:25] <amosse> già pronte
[23:10:33] <Stemby> esatto
[23:10:49] <Stemby> sono quelle funzioni immediatamente disponibili
[23:11:04] <Stemby> senza dover importare alcun modulo
[23:11:32] <Stemby> la tabellina http://docs.python.org/release/3.1.3/library/functions.html qui all'inizio, andrebbe analizzata
[23:11:48] <Stemby> sono tutte funzioni più o meno importantissime
[23:12:10] <Stemby> tra queste: http://docs.python.org/release/3.1.3/library/functions.html#bin
[23:12:47] <Stemby> http://docs.python.org/release/3.1.3/library/functions.html#hex
[23:13:11] <Stemby> http://docs.python.org/release/3.1.3/library/functions.html#oct
[23:13:56] <Stemby> queste tre trasformano da base 10 a, rispettivamente, base  2, 16 e 8
[23:14:13] <amosse> ok
[23:14:17] <Stemby> http://docs.python.org/release/3.1.3/library/functions.html#int
[23:14:43] <Stemby> la funzione int, invece, che dovremmo già conoscere bene, trasforma da qualsiasi base a intero (base 10)
[23:14:54] <Stemby> basta usare un parametro opzionale
[23:15:01] <amosse> ok
[23:15:09] <Stemby> (si veda la documentazione a riguardo)
[23:15:26] <Stemby> (e si facciano varie prove a casa come esercizio=
[23:15:27] <Stemby> )
[23:15:30] <Stemby> ok?
[23:15:34] <amosse> ok
[23:16:11] <Stemby> bom, date un'occhiata alle funzioni built-in
[23:16:15] <Stemby> *bon
[23:16:20] <Stemby> mio raccomando
[23:16:28] <Stemby> non bisogna imparare la sintassi a memoria
[23:16:42] <Stemby> basta ricordarsi che quelle funzioni sono lì a disposizione
[23:16:57] <amosse> ok
[23:17:00] <Stemby> poi, basta consultare la documentazione se un dettaglio lo si è dimenticato
[23:17:12] <Stemby> gobby
[00:00:00] - {Oggi è gio mag 19 00:00:00 2011}
[00:10:30] <amosse> ok
[00:10:41] <Stemby> allora
[00:10:56] <Stemby> per l'esercizio che ho assegnato, vi spiegherà tutto amosse sul forum
[00:11:02] <Stemby> adesso ha un quesito
[00:11:05] <Stemby> sentiamo
[00:11:29] <amosse> spesso mi trovo nella necessità di dover rielaborare enne fogli di cassa gestiti in excel
[00:11:45] <amosse> in pratica il folgio e composto dai campi:
[00:12:24] --> JumX (~webchat@Azzurra=1777290A.247-95-r.retail.telecomitalia.it) è entrato in #debianizzati-corsi
[00:12:25] <amosse> id, cod_fin, data, descrizione, imp_dare, imp_avere, saldo
[00:12:52] <Stemby> partita doppia
[00:12:59] <amosse> esatto
[00:13:08] <amosse> quindi
[00:13:13] <amosse> ho la necessita
[00:13:25] <-> JumX è ora conosciuto come Guest54774
[00:14:05] <amosse> di raggruppare tutti importi imp_dare e imp_avere e fare la somma per ogni codice
[00:14:18] <amosse> di solito si usa a tale scopo i db
[00:14:41] <amosse> ma volevo provare a farlo con csv e python
[00:14:46] <amosse> suggerimenti?
[00:15:26] <Stemby> allora
[00:15:44] <amosse> se volete creo post ad hoc sul forum
[00:15:49] <Stemby> primo: esportare i fogli excel in csv
[00:15:53] <Stemby> questo è facile
[00:15:57] <amosse> ok
[00:16:03] <amosse> si
[00:16:09] <Stemby> avrai tante righe
[00:16:16] <amosse> ok
[00:16:27] <Stemby> ogni riga sai trasformarla in stringa
[00:16:35] <Stemby> giusto?
[00:16:46] <amosse> readline
[00:16:47] <Stemby> for line in file:
[00:16:51] <Stemby> basta ciclare
[00:16:56] <amosse> ok
[00:17:11] <Stemby> line è la tua stringa
[00:17:18] <Stemby> che rappresenta una riga del file
[00:17:19] <amosse> ok
[00:17:38] <Stemby> sai anche fare a pezzi una stringa, no?
[00:17:47] <Stemby> guarda il metodo split()
[00:17:48] <amosse> si
[00:17:55] <amosse> lo conosco
[00:18:05] <amosse> restituisce una lista
[00:18:08] <Stemby> esatto
[00:18:25] <Stemby> ogni oggetto nella lista è una colonna
[00:18:42] <amosse> ok
[00:18:43] <Stemby> una riga alla volta, ovviamente
[00:18:48] <Stemby> perché stai ciclando
[00:19:15] <Stemby> bon
[00:19:20] <Stemby> allora sei a posto
[00:19:33] <Stemby> ogni oggetto della tua lista poi lo puoi elaborare come ti serve
[00:19:49] <amosse> ok
[00:19:54] <amosse> da provare
[00:19:56] <Stemby> ovviamente se posti un fac simile nel forum, diventa più facile
[00:20:08] <Stemby> (fac simile del csv)
[00:20:17] <amosse> ok preparo il post
[00:20:27] <Stemby> inizia anche a pasticciare col codice
[00:20:33] <amosse> ok
[00:20:35] <Stemby> vedrai che è molto molto semplice
[00:20:59] <amosse> quindi
[00:21:02] <amosse> http://docs.python.org/release/3.1.3/library/csv.html#module-csv
[00:21:05] <amosse> non serve
[00:21:11] <Stemby> a naso direi di no
[00:21:16] <amosse> ok
[00:21:20] <Stemby> credo che serva più che altro per scrivere csv
[00:21:27] <amosse> ok
[00:21:27] <Stemby> però non l'ho mai usato
[00:21:38] <amosse> va bene
[00:21:44] <Stemby> per quello che devi fare tu, le funzioni built-in sono sovradimensionate
[00:22:03] <amosse> ok
[00:22:07] <Stemby> più i millemila metodi che accompagnano gli oggetti standard
[00:22:15] <Stemby> bon
[00:22:16] <amosse> ok
[00:22:21] <Stemby> inizia a scrivere
[00:22:22] <Stemby> :)
[00:22:27] <amosse> ok
[00:22:30] <Stemby> poi se hai bisogno, ci fai vedere
[00:22:33] <Stemby> notte!
[00:22:40] <amosse> ok grazie, notte
[00:24:45] <-- Guest54774 (~webchat@Azzurra=1777290A.247-95-r.retail.telecomitalia.it) è uscito (Ping timeout)
[00:25:58] <Stemby> ho dato una scorsa veloce a quel modulo
[00:26:02] <Stemby> sembra carino
[00:26:14] <amosse> quale
[00:26:18] <Stemby> se devi fare elaborazioni a livello di intere righe, o intere colonne
[00:26:21] <Stemby> csv
[00:26:33] <amosse> esatto
[00:26:40] <amosse> ci guardavo anche iop
[00:26:41] <Stemby> ripeto: secondo me puoi farne tranquillamente a meno
[00:26:51] <amosse> ok
[00:27:01] <Stemby> comunque se vuoi provarlo, può essere un'esperienza
[00:27:03] <amosse> vediamo, provo senza
[00:27:11] <amosse> esatto
[00:27:19] <amosse> perchè no
[00:28:17] <amosse> comunque voglio fare troppe cose, comunciamo con qualcosa e finiamola
[00:28:23] <amosse> altrimenti mi perdo
[00:28:56] <Stemby> :)
[00:28:58] <Stemby> esatto
[00:29:04] <Stemby> son molto d'accordo
[00:29:13] <Stemby> l'importante è fare le cose in modo modulare
[00:29:24] <amosse> modulare?
[00:29:32] <Stemby> in modo che poi, in futuro, si possa potenziare ogni dettaglio
[00:29:35] <Stemby> sì
[00:29:46] <Stemby> tante belle funzioncine semplici e chiare
[00:29:57] <amosse> è vero
[00:30:22] <Stemby> poi, se un giorno vorrai usare qualche strumento già pronto, sostituisci una funzione e lasci tutto il resto invariato
[00:30:26] <Stemby> (almeno in teoria)
[00:30:39] <amosse> esatto
[00:30:47] <amosse> ma per fare programnmini
[00:31:00] <amosse> ci vuole anche GUI e DB
[00:31:15] <amosse> giusto?
[00:31:15] <Stemby> eh
[00:31:23] <Stemby> beh, non per forza
[00:31:31] <Stemby> si possono fare un sacco di cose anche senza
[00:31:31] <amosse> ad esempio
[00:31:57] <amosse> se il programma che ti dicevo prima per elaborare i csv
[00:32:03] <Stemby> certo, immaginare un'applicazione per uno smartphone touchscreen senza GUI è dura
[00:32:12] <amosse> lo volessi fare dall'inizio
[00:32:30] <amosse> con l'imputazione dei dati dall'utente
[00:32:39] <Stemby> imputazione=
[00:32:39] <amosse> senza GUI è dura
[00:32:40] <Stemby> ?
[00:32:47] <Stemby> inserimento, ok
[00:32:53] <amosse> ok
[00:32:56] <amosse> esatto
[00:33:07] <Stemby> beh, dipende da chi è l'utente
[00:33:23] <Stemby> se l'utente è una cassa, la gui non serve
[00:33:23] <amosse> per sempio
[00:33:37] <Stemby> (una macchina non necessita di GUI)
[00:33:54] <amosse> l'utente è un operatore
[00:34:00] <amosse> umano
[00:34:10] <Stemby> non si può automatizzare?
[00:34:24] <amosse> si può
[00:34:28] <Stemby> molto meglio un qualcosa di automatico senza GUI
[00:34:36] <Stemby> (è la situazione ideale)
[00:34:42] <amosse> ma sono due cose diverse
[00:34:54] <amosse> che servono entrambe
[00:35:00] <amosse> (in contesti diversi)
[00:35:23] <Stemby> certo
[00:35:29] <amosse> comunque in questo campo c'è tantissimo da fare
[00:35:41] <amosse> basta avere le conoscenze
[00:35:48] <Stemby> già :)