RISOLTO list index out of range

Stato
Discussione chiusa ad ulteriori risposte.

Metallkros

Nuovo Utente
60
18
Salve a tutti, ho un problema con un programma che sto scrivendo, il suddetto serve a leggere un file csv, e a ricercare alcune parole specifiche.
Avevo fatto anche un altro topic su questo script, perché non riuscivo a salvare l'output, problema che poi ho risolto.
la parte in cui viene visualizzato l'errore è questa:


Python:
Nome_Ricerca=input('inserisci il nome della connessione:\n')
            print('-------------------------------')
            input('premi invio per iniziare ricerca')
            dati = [(riga[0],riga[1],riga[2],riga[3],riga[4],riga[5],riga[6],riga[7],riga[8])  for riga in lettore if Nome_Ricerca in riga[6]]
            for nome_rete in dati:
                print(f'--BSSID:{nome_rete[0]} --Channel:{nome_rete[1]} --Cifratura:{nome_rete[2]}{nome_rete[3]}{nome_rete[4]} --Segnale:{nome_rete[5]} --ESSID{nome_rete[6]}--Lat e Long{nome_rete[7]}{nome_rete[8]}\n')
            print('\nSalvare ricerca?\n')
          
          
          
   ###errore
Traceback (most recent call last):
  File "/Users/grouchomarx/Documents/Python/Progetti /Creazione_programmi/CSV_ANALYSER/Csv_analayser_official.py", line 80, in <module>
    Ricerca_e_salvataggio()
  File "/Users/grouchomarx/Documents/Python/Progetti /Creazione_programmi/CSV_ANALYSER/Csv_analayser_official.py", line 31, in Ricerca_e_salvataggio
    dati = [(riga[0],riga[1],riga[2],riga[3],riga[4],riga[5],riga[6],riga[7],riga[8])  for riga in lettore if Nome_Ricerca in riga[6]]
  File "/Users/grouchomarx/Documents/Python/Progetti /Creazione_programmi/CSV_ANALYSER/Csv_analayser_official.py", line 31, in <listcomp>
    dati = [(riga[0],riga[1],riga[2],riga[3],riga[4],riga[5],riga[6],riga[7],riga[8])  for riga in lettore if Nome_Ricerca in riga[6]]
IndexError: list index out of range

ho visualizzato gli Header del file, e sono 9, così all'interno della lista dati li ho numerati da 0 a 8, quindi non capisco perché mi dica di essere fuori dal range
 

pabloski

Utente Èlite
2,868
916
Però il messaggio d'errore è chiaro. Stai andando fuori dal range di riga. Suppongo che riga venga creata per ogni riga ( appunto ), automaticamente, usando qualcosa tipo la funzione split. E se nel file csv, per alcune righe, mancano degli elementi? Ti ritrovi che l'array riga non è più di 9 elementi per quelle righe, da cui l'errore.
 
  • Mi piace
Reazioni: Metallkros

Metallkros

Nuovo Utente
60
18
Si Pablo , ho notato che ci sono delle righe con elementi mancanti, proverò a modificare il file csv per eliminarle:ok:
Post unito automaticamente:

@pabloski Ho risolto fixando il file csv con un programma per windows, che mi permette di aggiungere delle "," a le righe con le colonne mancanti .
Allego il link del programma(per windows) magari può essere utile a qualcuno
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili