J'ai créé une base de données avec pandas géants:sqlalchemy Ajouter un index à la base de données existante sqlite3
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)
Maintenant, je voudrais ajouter un ou plusieurs index à la base de données. Est-ce que ce cas je voudrais faire d'abord seulement la colonne A
et puis les deux indices de colonnes.
Comment puis-je faire cela?
Si possible, je voudrais une solution qui utilise uniquement SqlAlchemy afin qu'elle soit indépendante du choix de la base de données.
Normalement, on pourrait utiliser un outil de migration tels que [alembic] (http: // alembic .zzzcomputing.com/fr/latest /) pour gérer les migrations de base de données, mais vous ne savez pas si cela correspond à votre cas d'utilisation. –
Mon cas d'utilisation est très simple. Toute procédure qui ne nécessite pas trop de travail (temps passé à apprendre un nouvel outil) est bonne. – Donbeo