|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2011
Messaggi: 8
|
neofita...consiglio
Salve,
sono un neofita nella programmazione conosco un pò di basic ma mi manca qualche info per fare il programmino che mi serve: allora in un file .csv ho nella prima riga una serie di variabili separate da virgola a,b,c,d poi nella riga successiva ho delle stringhe costanti separate sempre da virgole X,Y vorrei creare un programmino che mi prenda X,Y,e ci aggiunga a poi mi vada a capo mi riscriva X,Y,e ci aggiunga b...e cosi via.. Consigli su come crearlo?? basic? VB? etc....grazie Enrico |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Usa VB (.NET ovviamente, non è che mi salti fuori col visual basic del voltes' indre'), visto che hai già una sentore di basic dovrebbe renderti la vita più facile.
Dopodiché dovrai spulciarti un po' la documentazione delle librerie di .NET che riguardano la lettura e scrittura di file di testo oltre alla manipolazione di stringhe. Su msdn trovi tutta la documentazione e tanti esempi anche in vb. http://msdn.microsoft.com/en-us/library/gg145045.aspx
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Codice:
import csv
with open('FileSorgente.csv', 'rb') as f:
Sorgente = csv.reader(f)
Riga = Sorgente.next() # Legge la prima riga come elenco di stringhe
Variabili = [int(Valore) for Valore in Riga] # Converte la prima riga di valori da stringhe a interi
with open('FileDestinazione.csv', 'wb') as g:
Destinazione = csv.writer(g)
for Riga in Sorgente:
Riga = [int(Valore) for Valore in Riga] # Converte l'elenco di valori da stringhe a interi
for Variabile in Variabili:
NuovaRiga = [Valore + Variabile for Valore in Riga]
Destinazione.writerow(NuovaRiga)
Codice:
a,b,c X,Y W,Z Codice:
X+a,Y+a X+b,Y+b X+c,Y+c W+a,Z+a W+b,Z+b W+c,Z+c
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Guarda, ci avrei scommesso solo che la snai non la quotava neanche.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Giusto perché ho avuto uno straccio di tempo (cosa rara in questo periodo).
![]() Riporto una versione senza costrutto with, che per un neofita della divina scuola del pitone magari è più leggibile: Codice:
import csv
f = open('FileSorgente.csv', 'rb')
Sorgente = csv.reader(f)
Riga = Sorgente.next() # Legge la prima riga come elenco di stringhe
Variabili = [int(Valore) for Valore in Riga] # Converte la prima riga di valori da stringhe a interi
g = open('FileDestinazione.csv', 'wb')
Destinazione = csv.writer(g)
for Riga in Sorgente:
Riga = [int(Valore) for Valore in Riga] # Converte l'elenco di valori da stringhe a interi
for Variabile in Variabili:
NuovaRiga = [Valore + Variabile for Valore in Riga]
Destinazione.writerow(NuovaRiga)
g.close()
f.close()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Infedele!
Dalle TavOOle della legge: non avrai altra divinità all'infuori dell'orientamento agli oggetti. Codice:
CVS file = new CVS(percorso); Variabili v = file.getVariabili(); Costanti c = file.getCostanti(); CVS newFile = new CVS(v, c); newFile.write(percorso);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: May 2011
Messaggi: 8
|
Grazie ragazzi...
ma non pensate che 2 righe di codice basic siano ancora più semplici... mi sapreste dire qual è la funzione che legge una riga (o parte) e la copia su una riga in basso?? Grazie |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Come la bellezza, anche la semplicità è nell'occhio di chi guarda.
Devi cercare le funzionalità che ti servono qui dentro: http://msdn.microsoft.com/en-us/library/gg145045.aspx Sfortunatamente i file sono molto più "stupidi" di quando uno possa immaginare. In particolare non hanno alcuna capacità di determinare la posizione relativa di ciò che contengono. Detto altrimenti, non c'è una funzione ad hoc che sposti una riga da una parte all'altra. Premesso che ci sono dei limiti all'applicabilità di quanto suggerisco, una via rapidamente comprensibile potrebbe essere questa: leggi tutte le righe del file in un array di stringhe: http://msdn.microsoft.com/en-us/library/s2tte0y1.aspx le trasformi com'è nelle tue intenzioni e poi le usi per sovrascrivere il file di partenza: http://msdn.microsoft.com/en-us/library/92e05ft3.aspx (inizialmente è forse meglio se usi un diverso file per poter verificare il risultato). Poi troverai modi più consoni per farlo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:09.





















