PC & Mobile

Pandas et SQL ensemble, un exemple de Premier League et de recherche de joueurs

Pandas et SQL ensemble, un exemple de Premier League et de recherche de joueurs


Pandas, SQL, transfert de données Excel

La bibliothèque Python Pandon facilite le transfert de données tabulaires d’une plate-forme à une autre. Ce tutoriel vise à vous montrer comment déplacer des données entre un Pandas DataFrame, une base de données SQL et une feuille de calcul Excel, tout au long de l'utilisation de Pandas. Ainsi, quel que soit le lieu où se trouvent vos données, vous pouvez les transférer dans un format facile à analyser et à manipuler.

Conversion / lecture d'une table SQL en un Pandas DataFrame

Il est souvent nécessaire de transférer des données d'une plate-forme à une autre. Il peut être utile de transformer une table / requête SQL en un Pandas DataFrame. Pour pouvoir commencer, vous devez installer 3 modules. Ceux-ci inclus; pandas, sqlalchemy et PyMySQL.

Ici, la Premier League Table est dans la table ‘football’ de MySQL. L'objectif est de transformer cette table en un Pandas DataFrame.

Pour commencer, importez le module Pandas sous le pseudonyme pd, conformément à la convention, puis importez le module sqlalchemy. Ensuite, il est nécessaire d’établir une connexion entre Python et la base de données MySQL. Heureusement, le module sqlalchemy fournit une fonction appelée .create_engine () qui permet d’établir cette connexion.

La ficelle à l'intérieur du .create_engine () fonction est appelée la chaîne de connexion.

le create_engine () function produit un objet Engine basé sur une URL. Ces URL sont généralement formatées avec un nom d'utilisateur, un mot de passe, un nom d'hôte et un nom de base de données. Le format typique d'une URL de base de données est le suivant:

Pour plus de clarté: ‘mysql + pymysql’ indique que j’utilise mysql comme système de gestion de base de données et fonctionne dans le module pymysql pour assurer l’interface avec ce système de gestion de base de données (SGBD).

nom d'utilisateur = racine, mot de passe = ****, nom d'hôte = localhost et nom de base de données = football_db.

Pour faire correspondre la configuration du moteur à l'aide de votre SGBD spécifique, vous devez consulter https://docs.sqlalchemy.org/en/13/core/engines.html pour connaître les spécificités de formatage de la chaîne de connexion. Maintenant, lorsque je lance le code dans mon cahier Jupyter, le DataFrame apparaît. Pour confirmer, je peux simplement utiliser le type fonction qui indique que j’ai un Pandas DataFrame.

Une question utile serait ici: Pourquoi voudrions-nous transformer la table de football SQL en un DataFrame Pandas?

Pour illustrer l'une des nombreuses raisons possibles, il est désormais possible de styliser le DataFrame et d'améliorer ainsi sa lisibilité pour les publics cibles. Ici, deux fonctions utiles sont définies; celle qui colore la colonne de la différence de but à l’aide de la mise en forme conditionnelle, verte si la différence de but est positive et rouge si elle est négative. Nous pouvons même aller plus loin et définir une fonction qui grossit les cellules au fur et à mesure que l'utilisateur les fait défiler. Ce ne serait pas possible dans MySQL.

Lecture d'une requête SQL dans un DataFrame Pandas

Pour lire une requête SQL dans un Pandas DataFrame, nous écrivons d’abord la requête dans son langage natif, ici, SQL. J'ai attribué à cette requête le nom de variable query_1 et, comme elle s'étend sur plusieurs lignes, j'ai inclus la requête entre guillemets triples. Cette requête peut ensuite être lue en ajoutant son nom de variable et le moteur en tant que paramètres du paramètre. pd.read_sql_query () méthode. Comme indiqué ci-dessous, la requête est maintenant un Pandas DataFrame.

Exportation de Football DataFrame dans un fichier Excel

L’exportation du DataFrame nouvellement créé est possible en utilisant le pd.to_excel () méthode. Spécifiez le nom de fichier de votre choix. Ici, j’ai choisi ‘buts_game_stats.xlsx’, car cela semble approprié. Incluez l'extension de nom de fichier .xls si vous avez le module xlwt installé ou l'extension .xlsx si vous avez le module openpyxl installé.

Il semble inutile d’inclure l’index spécifié avec Pandas DataFrame, j’ai donc simplement défini l’index optionnel du paramètre sur False. L’index est ensuite omis du fichier Excel correspondant. Les analyseurs Pandas facilitent vraiment le transfert de données un peu plus facilement!

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close