pymsql + not enough arguments for format string ??

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Pythty
User
Beiträge: 4
Registriert: Dienstag 21. Februar 2017, 18:54

pymsql + not enough arguments for format string ??

Beitragvon Pythty » Sonntag 23. Juli 2017, 17:17

Hallo
ich habe ein paar textdatein mit inhalt die per executemany in die Datenbank eingefügt werden sollen, leider erhalte ich die meldung;
"not enough arguments for format string"

hier mal mein Code
  1. with open("temp_link.txt") as temp_link, \
  2.      open("temp_LinkHash.txt") as temp_hash, \
  3.      open("temp_headline.txt") as temp_headline, \
  4.      open("temp_snippet.txt") as temp_snippit, \
  5.      open("temp_rubID.txt") as temp_rubID, \
  6.      open("temp_date.txt") as temp_date, \
  7.      open("temp_time.txt") as temp_time:
  8.      link_url = temp_link.readlines()
  9.      hash_url = temp_hash.readlines()
  10.      headline = temp_headline.readlines()
  11.      snippit = temp_snippit.readlines()
  12.      rubID = temp_date.readlines()
  13.      date = temp_time.readlines()
  14.      time = temp_rubID.readlines()
  15.  
  16. for data in zip(hash_url, link_url, headline, snippit, rubID, date, time):
  17.     pass
  18. print(data)
  19.  
  20. if not sql_one_empty:
  21.     sql_insert = "INSERT INTO table_e2e (hash_url, link_url, headline, snippet, rub_id, datum, time) VALUES (%s, %s, %s, %s, %s, %s, %s)"
  22.     cur.executemany(sql_insert, data)
  23.     db.commit()
  24. else:
  25.     pass



und hier mal die fehlermeldung

Code: Alles auswählen

Traceback (most recent call last):
  File "/home/unixben/Development/python//mySQL_save.py", line 45, in <module>
    cur.executemany(sql_insert_hash, data)
  File "/usr/local/lib/python3.5/dist-packages/pymysql/cursors.py", line 193, in executemany
    self._get_db().encoding)
  File "/usr/local/lib/python3.5/dist-packages/pymysql/cursors.py", line 209, in _do_execute_many
    v = values % escape(next(args), conn)
TypeError: not enough arguments for format string


weiß jemand woran es liegen kann ??
Zuletzt geändert von Anonymous am Sonntag 23. Juli 2017, 19:38, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Sirius3
User
Beiträge: 7058
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: pymsql + not enough arguments for format string ??

Beitragvon Sirius3 » Sonntag 23. Juli 2017, 18:29

@Pythty: woher kommen die sieben! Dateien? Wer erzeugt die? Und warum? Bei Einlesen machst Du schon einen Fehler. In der Datenbank sollten date und time nicht getrennt sein, sondern ein gemeinsames TIMESTAMP-Feld sein. Schau Dir mal an, was »data« enthält und was »executemany« braucht.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder