Problem mit INSERT
Verfasst: Sonntag 5. August 2007, 18:25
Hallo,
ich bekomme bei folgendem Code
ständig folgende Fehlermeldung
Ich bin schon länger am rumprobieren und am suchen, aber ich weis ich weis einfach nicht wie dieser Fehler entsteht und wie ich ihm entgegenwirken kann.
Ich verstehe einfach nicht was an dem INSERT Befehl falsch sein soll.
Was auch komisch ist, ist das wenn ich die Einträge für time und temp_i aus dem INSERT Befehl raus nehme, also nur die web_id drinne lasse, der Befehl funktioniert.
Über hilfe wäre ich sehr dankbar.
mfg
snatch
ich bekomme bei folgendem Code
Code: Alles auswählen
def write_to_db(self, host = '', db = '', user = '', passwd = ''):
db = MySQLdb.connect(host="localhost",db="test",user="root")
cursor = db.cursor()
csv_data = self.read_csv(read_first_line = 0)
for i in range(len(csv_data)):
datum = csv_data[i][0].split('.')
cursor.execute('SELECT web_id FROM open_web WHERE date = %s', datum[2]+'-'+datum[1]+'-'+datum[0])
result = cursor.fetchall()
if not result:
cursor.execute('INSERT INTO open_web SET date = %s', datum[2]+'-'+datum[1]+'-'+datum[0])
for j in range(len(csv_data)):
datum = csv_data[j][0].split('.')
cursor.execute('SELECT web_id FROM open_web WHERE date = %s', datum[2]+'-'+datum[1]+'-'+datum[0])
result = cursor.fetchone()
print type(csv_data[j][1])
if result:
cursor.execute("""INSERT INTO open_web_data
SET
web_id = %s,
time = %s,
temp_i = %f;""", (result, csv_data[j][1], float(csv_data[j][2])))
Code: Alles auswählen
Traceback (most recent call last):
File "D:\Daten\Python\Import\Import.py", line 74, in
wi.write_to_db()
File "D:\Daten\Python\Import\Import.py", line 69, in write_to_db
temp_i = %f;""", (result, csv_data[j][1], float(csv_data[j][2])))
File "C:\Programme\Python25\Lib\site-packages\MySQLdb\cursors.py", line 148, in execute
query = query % db.literal(args)
TypeError: float argument required
Ich verstehe einfach nicht was an dem INSERT Befehl falsch sein soll.
Was auch komisch ist, ist das wenn ich die Einträge für time und temp_i aus dem INSERT Befehl raus nehme, also nur die web_id drinne lasse, der Befehl funktioniert.
Über hilfe wäre ich sehr dankbar.
mfg
snatch