Anfängerproblem: SQLite-Abfrage => Fehlermeldung "TypeError"
Verfasst: Dienstag 3. Juli 2012, 09:51
Hallo, Python-pros,
Das ist mein erster Post. Vermutlich ist die Frage dumm und das Problem auch schon irgendwo gelöst, aber ich komme von selbst nicht drauf und auch intensiveres googlen und lesen hat mir nicht geholfen.
Folgendes: Ich habe eine SQLite-Datenbank namens "Literaturkorpus" mit u.a. einer Tabelle namens "Werke" mit u.a. einer text-column namens "Pfad". In dieser column habe ich relative Pfadangaben zu txt-Files gespeichert.
Ich möchte jetzt in Python diese Datenbank abfragen und die Text-Files, auf die in der Pfad-Spalte verwiesen wird, in einen neuen Ordner im Working Directory kopieren. Wenn ich das aber versuche, dann bekomme ich immer die Fehlermeldung "IOError: 'in <string>' requires string as left operand, not tuple."
Wenn mir da jemand helfen könnte, wäre ich sehr dankbar. Hier mein (vereinfachter) Code:
Ich glaube, der Knackpunkt ist das zweite "row" in der letzten Zeile. Aber ich komme nicht darauf, wie ich eine relative Pfadangabe aus der SQLite-Datenbank im os.path.join verfügbar mache.
Weiß zufällig jemand, was ich falsch mache?
Danke im Voraus,
liebe Grüße
DaWalda
Das ist mein erster Post. Vermutlich ist die Frage dumm und das Problem auch schon irgendwo gelöst, aber ich komme von selbst nicht drauf und auch intensiveres googlen und lesen hat mir nicht geholfen.
Folgendes: Ich habe eine SQLite-Datenbank namens "Literaturkorpus" mit u.a. einer Tabelle namens "Werke" mit u.a. einer text-column namens "Pfad". In dieser column habe ich relative Pfadangaben zu txt-Files gespeichert.
Ich möchte jetzt in Python diese Datenbank abfragen und die Text-Files, auf die in der Pfad-Spalte verwiesen wird, in einen neuen Ordner im Working Directory kopieren. Wenn ich das aber versuche, dann bekomme ich immer die Fehlermeldung "IOError: 'in <string>' requires string as left operand, not tuple."
Wenn mir da jemand helfen könnte, wäre ich sehr dankbar. Hier mein (vereinfachter) Code:
Code: Alles auswählen
import os
import shutil
import sqlite3
Working_Directory=os.getcwd()
connection=sqlite3.connect(os.path.join(Working_Directory, 'Literaturkorpus.sqlite'))
cursor=connection.cursor()
primary_set = os.path.join(Working_Directory, 'primary_set')
os.makedirs(primary_set)
cursor.execute("SELECT Pfad FROM Werke WHERE NotBefore<1700")
for row in cursor:
shutil.copyfile(row, os.path.join(primary_set, row))
Ich glaube, der Knackpunkt ist das zweite "row" in der letzten Zeile. Aber ich komme nicht darauf, wie ich eine relative Pfadangabe aus der SQLite-Datenbank im os.path.join verfügbar mache.
Weiß zufällig jemand, was ich falsch mache?
Danke im Voraus,
liebe Grüße
DaWalda