Je n'ai pas trouvé d'information à ce sujet dans la documentation, mais comment puis-je obtenir une liste des tables créées dans SQLAlchemy ?
J'ai utilisé la méthode des classes pour créer les tableaux.
Je n'ai pas trouvé d'information à ce sujet dans la documentation, mais comment puis-je obtenir une liste des tables créées dans SQLAlchemy ?
J'ai utilisé la méthode des classes pour créer les tableaux.
Le meilleur moyen est d'utiliser inspect
:
Recueillir les noms des colonnes de la table
from sqlalchemy import create_engine, inspect
engine = create_engine("sqlite:///../Resources/dow.sqlite") conn = engine.connect() inspector = inspect(conn) inspector.get_table_names() #returns "dow"
columns = inspector.get_columns('dow')
for column in columns: print(column["name"], column["type"])
Exemple complet d'affichage de toutes les informations de la colonne. Suppose que la variable df
contient un cadre de données à écrire dans la base de données SQL.
from sqlalchemy import create_engine, inspect
from sqlalchemy_utils.functions import database_exists, create_database
engine = create_engine('sqlite:///mydb.sqlite', echo=True)
if not database_exists(engine.url):
create_database(engine.url)
else:
engine.connect()
df.to_sql('MyTable', con=engine, if_exists='replace', index=False) # index=False avoids auto-creation of level_0 (name tiebreaker)
inspector = inspect(engine)
table_names = inspector.get_table_names()
for table_name in table_names:
print(f"Table:{table_name}")
column_items = inspector.get_columns(table_name)
print('\t'.join(n for n in column_items[0]))
for c in column_items:
assert len(c) == len(column_items[0])
print('\t'.join(str(c[n]) for n in c))
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.