Questo è il mio primo post! I anche appena iniziato a programmare, quindi per favore portami con me!Messaggio di errore in python-mysql cursor: 1054 colonna sconosciuta "x" in 'field list'
Sto provando a caricare un gruppo di file .csv in un database, per poter eseguire successivamente vari rapporti sui dati. Ho iniziato creando alcune tabelle in mysql con nomi di campi e tipi di dati corrispondenti a ciò che verrà caricato nelle tabelle. Sto manipolando il nome del file (per analizzare la data da usare come campo nella mia tabella) e pulire i dati con python.
Quindi il mio problema adesso (haha ...) è che ottengo questo messaggio di errore quando provo la query "Inserisci in" su mysql.
Traceback (most recent call last):
File "C:\Program Files\Python\load_domains2.py", line 80, in <module>
cur.execute(sql)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: (1054, "Unknown column 'a1200e.com' in 'field list'")
'a1200e.com' fa riferimento a un nome di dominio specifico che sto inserendo in quella colonna. La mia domanda è la seguente:
sql="""INSERT INTO temporary_load
(domain_name, session_count, search_count, click_count,
revenue, revenue_per_min, cost_per_click, traffic_date)
VALUES (%s, %d, %d, %d, %d, %d, %d, %s)""" %(cell[0],
int(cell[1]),
int(cell[2].replace (",","")),
int(cell[3].replace(",","")),
float(cell[4].replace("$","")),
float(cell[5].replace("$","")),
float(cell[6].replace("$","")),
parsed_date)
cur.execute(sql)
Sono molto nuovo a tutto questo, quindi sono sicuro che il mio codice non è affatto efficiente, ma volevo solo gettare tutto fuori in modo che sia chiaro per me. Quello che non capisco è che mi sono assicurato che la mia tabella avesse tipi di dati definiti correttamente (corrispondenti a quelli della mia interrogazione). C'è qualcosa che mi manca? Ho cercato di risolvere questo problema per un po 'e non so cosa potrebbe essere sbagliato:/
Grazie mille !!! Val
ok grazie. Per qualche ragione, il mio commento ad un'altra persona che ha risposto è sparito ... forse puoi aiutarmi? Fondamentalmente, ora devo anche eliminare le virgole per i tipi di float ... ma sto già sostituendo i segni del dollaro. Come posso sostituire due tipi di simboli per una variabile? – DalivDali
@DalivDali, se fai una domanda per ogni domanda otterrai delle risposte - ma rispondendo a "una mezza domanda" dato che stai facendo due domande in una sola domanda e una risposta già ottenuta ha poco senso (anzi, ha poco senso per te per chiedere 2 domande in una !!!). –