Es gibt einen Beitrag, der mir sagt, wie man Daten aus einer CSV-Datei in eine SQLite-Datenbank schreiben (link). Gibt es eine Möglichkeit, einfach die gesamte Datei in eine Datenbanktabelle zu kopieren, anstatt die Daten zu laden und dann durch die Zeilen zu iterieren, die sie an die Tabelle anhängen, wie in der Verknüpfung vorgeschlagen.Kopie CSV-Datei in SQLite-Datenbank-Tabelle mit Python
dies in SQLite zu tun, sagt sie here einfach
mit Datenbanken und sqlite3sqlite> create table test (id integer, datatype_id integer, level integer, meaning text);
sqlite> .separator ","
sqlite> .import no_yes.csv test
Ich bin neu in Arbeit zu geben, aber ich dachte, so etwas wie dies zu tun
import sqlite3
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
def create_table(name):
c.execute("CREATE TABLE IF NOT EXISTS {} (time REAL, event INTEGER, id INTEGER, size INTERGER, direction INTEGER)".format(name))
def copy_data(file2copy,table_name):
c.executescript("""
.separator ","
.import {} {}""".format(file2copy,table_name))
conn.commit()
try:
create_table('abc')
copy_data(r'Y:\MYPATH\somedata.csv','abc')
except Exception as e:
print e
c.close()
conn.close()
arbeiten konnte aber offenbar es tut es nicht. Ich erhalte die Fehler
near ".": syntax error
EDIT: Dank der folgenden Vorschlag der Subprozess Modul zu verwenden, ich mit der follwing Lösung kam.
Wichtig, sollten Sie '/' anstelle von '\' in Ihren Verzeichnisnamen verwenden. Außerdem müssen Sie auf Leerzeichen in Ihren Verzeichnisnamen achten.