I am trying to insert rows from a csv file into a MySQL table.
I tried this code
with open('test.csv','r') as f: reader = csv.reader(f) for row in reader : value=[row[0],row[3]] cur.execute("insert into tab(name, nb_cases) values(%s,%s)", value) con.commit()
Nb: tab
is a table with two columns name (varchar 20)
and nb_cases (double)
I get this error:
DataError: (1265, “Data truncated for column ‘nb_cases’ at row 1”)
Advertisement
Answer
your number doesn’t fit it must be 983.469 with a point not a comma
use
float("983,469".replace(',','.'))
Create table testa( x Double)✓
INSERT INTO testa VALUE (983,469);Column count doesn't match value count at row 1
INSERT INTO testa VALUE (983.469);✓
SELECT * FROM testa;| x | | ------: | | 983.469 |
db<>fiddle here