vince
Profilo di
Nome | vince |
---|---|
Indirizzo email | n/a |
Messaggi | 3 |
-
- 2020-07-07 11:09:09
- Re: Inserimento numeri Reali nel database
- Forum >> Programmazione Python >> Database
- Si converto la stringa con il metodo split(";"), in questo modo ottengo una lista che in seguito il cursore utilizza per popolare la tabella.
-
- 2020-07-06 16:13:40
- Re: Inserimento numeri Reali nel database
- Forum >> Programmazione Python >> Database
- Ciao,
grazie per la risposta.
Comunque ho capito che il problema era la virgola, per cui utilizzo il metodo replace per sostituirle con il punto, adesso funziona.
Saluti
-
- 2020-07-04 13:57:28
- Inserimento numeri Reali nel database
- Forum >> Programmazione Python >> Database
- Buongiorno,
sono Vincenzo e da pochissimo ho iniziato a studiare Python ed SQLite per lavoro.
Sono riuscito con non poche difficoltà a trasferire i dati da un file .txt all'interno di una tabella in un database SQLite ma i numeri con la virgola vengono convertiti in stringhe nonostante abbia provato sia con FLOAT che con REAL.
Posto il codice, mi scuso anticipatamente ma non trovo i tag per postare codice:
testo = open("Report1 - ARTICOLI.txt")
contenuto=testo.read()
numeroRighe=contenuto.count("\n")
testo.seek(0)
import sqlite3
conn = sqlite3.connect('database.sqlite')
cur = conn.cursor()
cur.execute('DROP TABLE IF EXISTS Prodotti')
cur.execute('CREATE TABLE Prodotti (Codice INTEGER, Iva INTEGER, UM TEXT, Imb INTEGER, Str INTEGER, Pal INTEGER, Pubblico REAL, Codice a Barre INTEGER, Descrizione TEXT, Mag INTEGER, Cllist TEXT, Cessione REAL, UMO TEXT, TMC INTEGER, Peso Medio REAL)')
conn.close()
conn = sqlite3.connect('database.sqlite')
cur = conn.cursor()
for i in range(10):
contenuto = testo.readline()
lista=contenuto.split(";")
cur.execute('INSERT INTO Prodotti (Codice, Iva, UM, Imb, Str, Pal, Pubblico, Codice a Barre, Descrizione, Mag, Cllist, Cessione, UMO, TMC, Peso Medio) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )', (lista0, lista2, lista3, lista4, lista5, lista6, lista7, lista8, lista9, lista10, lista12, lista13, lista14, lista15, lista18))
conn.commit()
Il risultato, se provo a stampare il valore della lista in posizione 6 è il seguente:
' 9.49'
Any ideas?