Ich habe eine Datenbank mit Pandas erstellt:sqlalchemy Index in den bestehenden sqlite3 Datenbank
import numpy as np
import sqlite3
import pandas as pd
import sqlite3
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
df = pd.DataFrame(np.random.normal(0, 1, (10, 2)), columns=['A', 'B'])
path = 'sqlite:////home/username/Desktop/example.db'
engine = create_engine(path, echo=False)
df.to_sql('flows', engine, if_exists='append', index=False)
# This is only to show I am able to read the database
df_l = pd.read_sql("SELECT * FROM flows WHERE A>0 AND B<0", engine)
Nun möchte ich eine in die Datenbank oder mehrere Indizes hinzufügen. In diesem Fall möchte ich zuerst nur die Spalte A
und dann beide Spalten indices machen.
Wie kann ich das tun?
Wenn möglich, möchte ich eine Lösung, die nur SqlAlchemy verwendet, so dass es unabhängig von der Auswahl der Datenbank ist.
Normalerweise würde man ein Migrationstool verwenden, wie zum Beispiel [alembic] (http: // alembic .zzzcomputing.com/de/latest /) mit DB-Migrationen umgehen, aber nicht sicher, wie gut es zu Ihrem Anwendungsfall passt. –
Mein Anwendungsfall ist sehr einfach. Jede Prozedur, die nicht zu viel Arbeit erfordert (Zeitaufwand für das Erlernen eines neuen Werkzeugs) ist gut. – Donbeo