Forum
>>
Programmazione Python
>>
Files e Directory
>>
Estrapolazione dati da file csv
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da trescon |
2017-12-21 23:37:31 - Estrapolazione dati da file csv
|
Buonasera, volevo sottoporre a voi un esempio di ignoranza .... il mio ...
Diventando seri, io ho un file di tipo csv (campi separati da ";" o in alcuni casi seprati da ",") e devo effettuare delle ricerche all'interno i campi di questi file. Quello che non mi torna (che non capisco) è che se io metto un confronto a un tal campo (colonna) del file, e per coincidenza questo è vero , non capisco come risalire alla riga dove c'è il campo con la colonna vera. Mi spiego meglio , se io cerco nella colonna row4 la stringa "Ravenna" come faccio a risalire che la riga dove c'era la tal stringa era la numero..... Allego programmino , scopizzato qua e la, che fa il suo dovere di leggere il file e stamparmelo; non ho messo il confronto perchè quando vero non so come gestirlo. In pratica se il confronto è vero, a me serve sapere in qualle riga è vero e devo "prelevare" l'intera riga per gestirla altrove. import csv file_csv = 'c:/Python_3_6/Progetti/Prove/dati1.txt' with open(file_csv,newline='') as csvfile: reader = csv.reader(csvfile,delimiter = ';') for row in reader: print (len(row), row)Ringrazio anticiparamente tutti per il supporto che vorrete darmi. Grazie Alberto ------
Alberto |
|
Scritto da Daniele aka Palmux |
2017-12-22 12:43:53 - Re: Estrapolazione dati da file csv
|
Ciao Alberto, prima considerazione ho letto una cosa che un po' mi spaventa, neanche fosse IT di S.King:
Spero per te che non devi controllare la presenza di ";" o ",". Comunque sia la soluzione al tuo quesito è piuttosto semplice, ti basta cercare l'occorrenza con un "in" per verificarne la presenza. Non so se hai notato che il tuo row è una lista, quindi sai già come estrarre solo le righe che ti interessano. Per il numero di riga puoi inserire un semplice contatore ed incrementarlo ad ogni passaggio, in modo da sapere esattamente in quale punti ti trovi. Fammi sapere se ti è tutto chiaro. Cya |
|
Scritto da trescon |
2017-12-26 18:53:59 - Re: Estrapolazione dati da file csv
|
Ciao Daniele, io so come di estraggono le righe da una lista (forse anche no, visto il mio livello) però se io creo una lista con un ventina di dati all'interno e decido di suddividerli in gruppi di 5 dati , io riesco a identificare il gruppo (dei 5) nel quale è compreso il valore che cerco io; ricavo anche ho 4 gruppi(di 5 dati ciascuno).
Leggendo però il file con la routine che ho indicato sopra, io non ho una lista di 28 elementi (come quella che ho ricreato io) ma 4 liste di 7 elementi. Se io provo a analizzare la lista contenuta nel row del file mi dice che ho 1 riga e non 4 ?? Ci ho perso delle ore, e sono arrivato alla conclusione che essendo io un "brocco" non ho capito come funzionano le liste (almeno quelle che derivano da un file csv). Mi potresti dare delle dritte. Grazie --- Ultima modifica di trescon in data 2017-12-26 20:49:37 --- --- Ultima modifica di trescon in data 2017-12-26 20:50:29 --- --- Ultima modifica di trescon in data 2017-12-26 20:50:58 --- ------
Alberto |
|
Scritto da Daniele aka Palmux |
2017-12-26 21:18:53 - Re: Estrapolazione dati da file csv
|
Alberto scusa, non ho capito molto di quello che chiedi, mi sono perso. Quindi facciamo un passo indietro e riprendiamo il tuo codice. Il quesito iniziale era quello di trovare Ravenna nel CSV, per sapere in che riga si trova.
import csv file_csv = 'c:/Python_3_6/Progetti/Prove/dati1.txt' with open(file_csv,newline='') as csvfile: reader = csv.reader(csvfile,delimiter = ';') for value, row in enumerate(reader, 1): if "Ravenna" in row: print("Trovato nella riga {} - {}".format(value, row)) Trovato nella riga 3 - ['3', 'Caffè', 'Macchiato', 'Via S. Agostino', 'Ravenna', '24040', 'Ra']Come andiamo ora, ci siamo? Cya |
|
Scritto da trescon |
2017-12-26 21:51:28 - Re: Estrapolazione dati da file csv
|
Per essere quello che volevo ... lo è.... solo che hai usato sintassi/istruzioni che proprio io non conosco.
Hai voglia di spendere due righe per spiegarmi la logica dei comandio usati ? Grazie per l'esempio, se non riesci cercherò di capire da solo PERCHE' funziona. Ancora grazie Alberto ------
Alberto |
Pagina: 1
Esegui il login per scrivere una risposta.