UTILISATION D'IRONXL POUR PYTHON

Comment importer un fichier Excel dans une table de base de données à l'aide de Python

Chaknith Bin
Chaknith Bin
juin 6, 2024
Partager:

Dans le monde actuel axé sur les données, la manipulation et le traitement efficaces des données sont des tâches essentielles pour toute organisation ou tout individu. Python, avec son riche écosystème de bibliothèques, offre des outils puissants pour la manipulation et la gestion des données, tels que la bibliothèque import pandas. Un scénario courant est la nécessité d'extraire ou d'importer des données à partir de Excel et de stocker ou d'insérer des données dans une base de données pour une analyse plus approfondie ou une intégration avec d'autres systèmes. Dans ce tutoriel, nous allons explorer comment créer un script Python qui automatise ce processus, vous permettant de lire de manière transparente les données des fichiers de la feuille Excel et de les insérer dans une base de données. À la fin de ce tutoriel, vous serez prêt à gérer efficacement les tâches de migration de données. Commençons !

Comment importer un fichier Excel dans une table de base de données à l'aide de Python

  1. Commencez par installer la bibliothèque IronXL.

  2. Chargez votre fichier Excel en mémoire à l'aide d'IronXL.

  3. Chargez la feuille de calcul spécifique avec laquelle vous souhaitez travailler.

  4. Sélectionnez la plage de données précise que vous souhaitez importer.

  5. Établir une connexion avec n'importe quelle base de données telle que SQLite ou MySQL en utilisant Python.

  6. Créez une nouvelle table dans votre base de données SQLite pour accueillir les données importées.

  7. Insérer les lignes sélectionnées du fichier Excel dans la table SQLite nouvellement créée.

  8. Récupérer et sélectionner les données de la table SQLite créée en vue d'une analyse ou d'un traitement ultérieur.

    Dans ce didacticiel, nous allons utiliser IronXL, une bibliothèque Python réputée pour son efficacité dans la gestion des fichiers Excel. En intégrant IronXL dans notre script, nous assurons une extraction transparente des données des feuilles de calcul Excel, ce qui permet une insertion aisée dans les bases de données en vue d'une analyse et d'un traitement ultérieurs.

Qu'est-ce qu'IronXL ?

IronXL est une bibliothèque Python développée par Iron Software, offrant une fonctionnalité robuste pour la lecture, la génération et l'édition de fichiers Excel directement au sein des applications Python. IronXL se distingue notamment par son indépendance vis-à-vis de l'installation de Microsoft Excel, ce qui simplifie le déploiement dans différents environnements. Avec IronXL, les développeurs bénéficient de :

Prise en charge multiplateforme : Profitez d'un fonctionnement fluide sur les plateformes Windows, macOS, Linux, Docker, Azure et AWS, assurant une adaptabilité à divers environnements de développement.

Importation et exportation de données : Gérez facilement l'importation de données à partir de fichiers XLS, XLSX, CSV et TSV, avec la flexibilité d'exporter des feuilles de calcul vers ces formats et même vers JSON pour une interopérabilité améliorée.

Fonctionnalités de cryptage : Assurez la sécurité des données en utilisant les capacités de cryptage d'IronXL, permettant la protection des fichiers XLSX, XLSM et XLTX avec des mots de passe.

Formules et recalcul : Travaillez sans effort avec les formules Excel, avec l'avantage supplémentaire du recalcul automatique chaque fois qu'une feuille est modifiée, garantissant précision et fiabilité dans la manipulation des données.

Style des Cellules : Personnalisez l'apparence des cellules individuelles en ajustant les styles de police, les tailles, les motifs de fond, les bordures et l'alignement pour améliorer la présentation visuelle de vos documents Excel.

Large gamme de formats de documents : Avec la prise en charge de divers formats, y compris XLS, XLSX, XLST, XLSM, CSV et TSV, IronXL permet aux développeurs de gérer les données dans une multitude de scénarios avec facilité et efficacité.

Commençons par installer IronXL.

Étape 1 : Installation de la bibliothèque IronXL

La toute première étape consiste à installer la bibliothèque IronXL. Exécutez la commande suivante pour installer IronXL dans l'invite de commande.

pip install IronXL
PYTHON

Étape 2 : Charger le classeur Excel

L'étape suivante consiste à charger le fichier Excel. Nous utiliserons le fichier Excel suivant pour ce tutoriel.

Comment importer un fichier Excel dans une table de base de données à l'aide de python : Figure 1 - Exemple de fichier Excel en entrée

Le code suivant charge le fichier Excel existant en mémoire.

from ironxl import *     # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024";
workbook = WorkBook.Load("sample_excel.xlsx")
PYTHON

L'extrait de code Python ci-dessus illustre le chargement d'un classeur Excel nommé "sample_excel.xlsx" à l'aide de la bibliothèque IronXL for Python. Tout d'abord, le module Python nécessaire est importé d'IronXL for Python. Ensuite, une clé de licence est attribuée pour valider l'utilisation de la bibliothèque. Vous pouvez obtenir votre clé de licence gratuite depuis le site web d'IronXL. Enfin, la méthode Charger est utilisée pour ouvrir et charger le classeur Excel spécifié dans la mémoire. Cela permet de manipuler ultérieurement son contenu de manière programmatique, par exemple en lisant des données, en modifiant les valeurs des cellules ou en appliquant une mise en forme.

Étape 3 : Sélection de la feuille de travail

Pour sélectionner une feuille de calcul dans un classeur Excel à l'aide d'IronXL, vous pouvez spécifier l'index ou le nom de la feuille de calcul.

worksheet = workbook.WorkSheets[0]
PYTHON

Cette ligne sélectionne la première feuille de calcul du classeur Excel chargé et l'affecte à la variable "feuille de calcul", ce qui permet d'effectuer des opérations ultérieures sur cette feuille de calcul spécifique dans le classeur. Cette opération permet de charger les données d'une feuille Excel dans une variable de la feuille de calcul.

Étape 4 : Ouvrir la connexion à la base de données

Dans ce tutoriel, nous utilisons une base de données SQLite au lieu d'un serveur de base de données MySQL. Pour lancer les opérations sur la base de données, nous commençons par établir une connexion avec la base de données.

import sqlite3
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')
PYTHON

La ligne ci-dessus établit une connexion avec une base de données SQLite nommée "data.db". Si la base de données spécifiée n'existe pas, elle sera créée automatiquement. Cette connexion permet une interaction ultérieure avec la base de données SQLite, telle que l'exécution de requêtes et la réalisation d'opérations de manipulation de données.

Étape 5 : Créer un tableau

L'étape suivante consiste à créer une table dans la base de données, où nous importerons les données d'un fichier Excel. Pour créer une table dans la base de données SQLite, vous pouvez exécuter une instruction SQL à l'aide de l'objet de connexion.

cursor = conn.cursor() // database objects
cursor.execute('''CREATE TABLE IF NOT EXISTS customer ( id Number,
            FirstName TEXT,
                    LastName TEXT,
                    Gender TEXT,
            Country TEXT,
            Age Number
                )''')
PYTHON

L'extrait de code ci-dessus initialise un objet curseur pour exécuter des commandes SQL dans la connexion à la base de données SQLite. Il crée une table nommée "client" avec les colonnes "id", "FirstName", "LastName", "Gender", "Country" et "Age". La table est créée si elle n'existe pas encore, en respectant les types de données spécifiés pour les colonnes.

Étape 6 : Importer des données dans la base de données à l'aide de Python

Nous allons maintenant insérer des données dans notre table nouvellement créée. Nous allons importer un fichier Excel et insérer ses données dans la base de données SQLite.

for i in range(2, 11):
    values_tuple = (
        worksheet[f"A{i}"].StringValue,
        worksheet[f"B{i}"].StringValue,
        worksheet[f"C{i}"].StringValue,
        worksheet[f"D{i}"].StringValue,
        worksheet[f"E{i}"].StringValue,
        worksheet[f"F{i}"].StringValue
    )
    cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
conn.commit()
PYTHON

Le code ci-dessus parcourt les lignes 2 à 10 de la feuille de calcul Excel, en extrayant les valeurs des colonnes A à F pour chaque ligne. Ces valeurs sont stockées dans un tuple, représentant les données à insérer dans la table "client". Le curseur exécute alors une commande SQL INSERT, incorporant le tuple de valeurs dans la table. Ce processus se répète pour chaque ligne, ce qui permet d'importer les données du fichier Excel dans la base de données SQLite. Enfin, conn.commit() valide la transaction, garantissant que les changements sont enregistrés et conservés dans la base de données.

Étape 7 : Lecture des données de la base de données

Pour vérifier si les données ont été insérées correctement, vous pouvez lire les données de la table "client" dans la base de données SQLite à l'aide d'une requête SELECT. Par exemple :

cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print the rows
for row in rows:
    print(row)
conn.close()
PYTHON

Le code ci-dessus exécute une requête SELECT sur la table "client" de la base de données SQLite, en récupérant toutes les lignes. Les lignes récupérées sont stockées dans la variable 'rows' en utilisant la méthode fetchall(). Ensuite, chaque ligne est imprimée de manière itérative, en affichant les données insérées dans le tableau "client". Enfin, la connexion à la base de données est fermée en utilisant la méthode close() pour libérer les ressources.

Comment importer un fichier Excel dans une table de base de données en utilisant python : Figure 2 - Lire à partir de la sortie de la base de données

Le code complet est le suivant :

import sqlite3
from ironxl import *     # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024";
workbook = WorkBook.Load("sample_excel.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS customer ( id Number,
                    FirstName TEXT,
                    LastName TEXT,
                    Gender TEXT,
                    Country TEXT,
                    Age Number
                )''')
cursor.execute("DELETE FROM customer")
for i in range(2, 11):
    values_tuple = (
        worksheet[f"A{i}"].StringValue,
        worksheet[f"B{i}"].StringValue,
        worksheet[f"C{i}"].StringValue,
        worksheet[f"D{i}"].StringValue,
        worksheet[f"E{i}"].StringValue,
        worksheet[f"F{i}"].StringValue
    )
    cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
conn.commit()  
cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print the rows
for row in rows:
    print(row)
conn.close()
PYTHON

Conclusion

En conclusion, ce tutoriel a démontré qu'une approche automatisée de la lecture des données libère tout son potentiel pour les efforts de gestion des données. Profitez de la puissance de Python et d'IronXL pour optimiser vos flux de traitement de données et propulser vos projets en toute confiance.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comment insérer des lignes dans un fichier Excel à l'aide de Python
SUIVANT >
Comment éditer des fichiers Excel en Python