Forum >> Principianti >> Non riesco a trovare le corrispondenze

Pagina: 1

Buonasera a tutti, io dovrei fare un ricerca all'interno di questo file (vedi esempio sotto) ma non mi restituisce nulla.
La stessa struttura di ricerca mi funziona per i file con i dati tra virgolette (es. "000045","8028921004114") , però io in questo file ho solo campi numerici.(ho anche dei valori in testo ma sempre NON tra virgolette)
with open("BARCODES.csv", newline="") as barcodescsv:
    lettore4 = csv.reader(barcodescsv,delimiter = ";")
    print (" 5- *** Barcodes.csv ***")
    dati4 = [(linea4[0] , linea4[1]) for linea4 in lettore4 if linea4[0] == 45]# ho provato anche con "000045" , ma nulla !!
    for articolo4 in dati4:
        print(f"{articolo4[:2]}")

000001 ;2000000000001 ;
000001 ;8710101474014 ;
000003 ;2000000000003 ;
000003 ;8710101474021 ;
000005 ;2000000000005 ;
000005 ;711719219903 ;
000010 ;2000000000010 ;
000010 ;8710101474717 ;
000017 ;2000000000017 ;
000017 ;8710101657042 ;
000028 ;2000000000028 ;
000028 ;4971850410607 ;
000028 ;4971850410614 ;
000030 ;2000000000030 ;
000030 ;4971850411307 ;
000033 ;2000000000033 ;
000033 ;711719382126 ;
000035 ;2000000000035 ;
000035 ;8023178050808 ;
000038 ;2000000000038 ;
000038 ;8023178050617 ;
000039 ;2000000000039 ;
000039 ;8023178050716 ;
000045 ;2000000000045 ;
000045 ;8028921004114 ;
000045 ;8028921004138 ;
000067 ;2000000000067 ;
000067 ;3244480053294 ;
000098 ;2000000000098 ;
000098 ;4901780631155 ;

Qualcuno mi puo' dare una mano ...... grazie

Alberto


--- Ultima modifica di trescon in data 2018-03-25 22:25:38 ---

--- Ultima modifica di trescon in data 2018-03-25 22:26:09 ---

--- Ultima modifica di trescon in data 2018-03-25 22:26:30 ---

--- Ultima modifica di trescon in data 2018-03-25 22:27:14 ---
------
Alberto
>>> [(linea4[0] , linea4[1]) for linea4 in lettore4 if linea4[0] == "000045 "]
[('000045 ', '2000000000045 '), ('000045 ', '8028921004114 '), ('000045 ', '8028921004138 ')]
THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
>>> [(linea4[0] , linea4[1]) for linea4 in lettore4 if linea4[0] == "000045 "]
[('000045 ', '2000000000045 '), ('000045 ', '8028921004114 '), ('000045 ', '8028921004138 ')]
Grazie cm, ho dovuto aggiungere alla fine della stringa da trovare tanti spazi quanti ne mancavano per arrivare alla lunghezza del campo, quindi 7 (campo lungo 13).

Come potrei fare a fare in modo da NON dover aggiungere gli spazi alla fine delle stringa, tenedo conto che a volte il o anche codice potrebbe essere lungo anche 7 oppure 8 caratteri; non esiste un left() per analizzare solo il codice ?
Grazie

------
Alberto
>>> '000045    '.strip()
'000045'
THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝


Pagina: 1



Esegui il login per scrivere una risposta.