Convertir une database SQL en CSV

Bonjour,

J’ai déjà travaillé sur des projets via mysql.
Es ce possible quand on ouvre une database SQL de la mettre au format csv pour la lire ensuite afin d’avoir un visuel plus parlant. (comme mysql qui sort les requêtes comme un df.head()

import sqlite3, sqlalchemy
from sqlalchemy import inspect, create_engine, text

engine = create_engine(« sqlite:///chinook.db »)

conn = engine.connect()

par exemple transformer chinook.db en csv puis faire un df.head().

Bonjour Valentin,

Cela est tout à fait possible en convertissant les résultats des requêtes en dataframe directement. Vous pouvez stocker le résultat de result.fetchall() puis le convertir en dataframe pour avoir un affichage plus propre. Par exemple de cette manière :

resoverall = conn.execute(...)
from pandas import DataFrame
df = DataFrame(resoverall.fetchall())
df.columns = resoverall.keys()

Ce n’est pas possible par contre de transformer chinook.db en csv car une base de données contient plusieurs tables. Il faut donc convertir chinook.db en plusieurs csv ou dataframe.

On perd également en rapidité d’exécution et en garantie des transactions par les propriétés ACID (notamment au niveau des contraintes de clé).

J’espère que cela est assez clair, n’hésite pas à signaler si cette réponse t’as été utile par :white_check_mark: en bas de cette réponse.

Bonne journée

Oui très clair merci,
j’avais réussi à transformer les tables une par une en csv mais impossible pour moi de tout transformer d’un seul coup, mais si c’est impossible c’est normal que je n’y parvenais pas ^^
Oui ça a du sens pour les Propriétés ACID effectivement.
C’est plus pour un aspect visuel pour mettre en place mes requêtes que je voulais voir sous forme de df.
merci