使用 IRONXL FOR PYTHON

如何使用Python将Excel文件导入数据库表

发布 2024年六月6日
分享:

在数据驱动的当今世界,高效地处理和加工数据是任何组织或个人的基本任务。 PythonPandas 及其丰富的库生态系统为数据操作和管理提供了强大的工具,如导入 pandas 库。一种常见的情况是需要从 Excel 从 Excel 电子表格中读取数据,并将数据存储或插入数据库,以便进一步分析或与其他系统集成。在本教程中,我们将探讨如何创建一个 Python 脚本来自动完成这一过程,让您可以从 Excel 表文件中无缝读取数据并将其插入数据库。本教程结束后,您就可以高效地处理数据迁移任务了。让我们开始!

如何使用 python 将 Excel 文件导入数据库表

1.首先安装 IronXL 库。

2.使用 IronXL 将 Excel 文件加载到内存中。

3.加载要处理的特定电子表格。

4.选择要导入的精确数据范围。

5.使用 Python 与任何数据库(如 SQLite 或 MySQL 连接数据库)建立连接。

6.在 SQLite 数据库中创建一个新表,以容纳导入的数据。

7.将 Excel 文件中的选定行插入新创建的 SQLite 表中。

8.从创建的 SQLite 表中检索和选择数据,以便进一步分析或处理。

在本教程中,我们将使用 IronXLIronXL 是一个 Python 库,以高效处理 Excel 文件而闻名。通过将 IronXL 集成到我们的脚本中,我们可以确保从 Excel 电子表格中无缝提取数据,并顺利插入数据库进行进一步分析和处理。

什么是 IronXL?

IronXL 是 Iron Software 开发的一个 Python 库,为以下应用程序提供强大的功能 阅读, 生成在 Python 应用程序中直接编辑 Excel 文件。值得注意的是,IronXL 独立于 Microsoft Excel 的安装,简化了在不同环境中的部署。使用 IronXL,开发人员可以从以下方面获益:

跨平台支持: 可在 Windows、macOS、Linux、Docker、Azure 和 AWS 平台上无缝运行,确保适应各种开发设置。

数据导入和导出: 轻松处理来自 XLS、XLSX、CSV 和 TSV 文件的数据导入,并可灵活地将工作表导出为这些格式,甚至导出为 JSON 格式,以增强互操作性。

加密功能: 利用 IronXL 的加密功能确保数据安全,允许使用密码保护 XLSX、XLSM 和 XLTX 文件。

公式和重新计算: 使用 Excel 工作毫不费力 公式此外,每次编辑工作表时都会自动重新计算,确保数据处理的准确性和可靠性。

单元格样式: 通过调整字体和颜色,自定义单个单元格的外观。 款式您还可以在 Excel 文件中添加各种样式、大小、背景图案、边框和对齐方式,从而增强 Excel 文件的视觉效果。

广泛的文档格式: IronXL 支持包括 XLS、XLSX、XLST、XLSM、CSV 和 TSV 在内的各种格式,使开发人员能够轻松高效地处理多种场景中的数据。

现在,让我们开始安装 IronXL。

第 1 步:安装 IronXL 库

第一步是安装 IronXL 库。在命令提示符下运行以下命令安装 IronXL。

pip install IronXL
PYTHON

第 2 步:加载 Excel 工作簿

下一步是加载 Excel 文件。本教程将使用以下 Excel 文件。

如何使用 python 将 Excel 文件导入数据库表:图 1 - Excel 文件输入示例

以下代码将在内存中加载现有的 Excel 文件。

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

上面的 Python 代码片段演示了使用 IronXL 库加载名为 "sample_excel.xlsx "的 Excel 工作簿。首先,从 IronXL 导入必要的 Python 模块。然后,分配一个许可证密钥以验证库的使用。您可以从 IronXL 网站.最后,使用加载方法打开指定的 Excel 工作簿并将其加载到内存中。这样就可以对其内容进行编程操作,如读取数据、修改单元格值或应用格式化。

第 3 步:选择工作表

要使用 IronXL 在 Excel 工作簿中选择工作表,可以指定工作表索引或名称。

worksheet = workbook.WorkSheets[0]
PYTHON

该行选择加载的 Excel 工作簿中的第一个工作表,并将其分配给变量 "worksheet",以便在工作簿中的特定工作表上执行后续操作。这将把 Excel 工作表中的 Excel 数据加载到工作表变量中。

第 4 步:打开数据库连接

在本教程中,我们使用的是 SQLite 数据库,而不是 MySQL 数据库服务器。要启动数据库操作,我们首先要建立与数据库的连接。

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

上面一行将建立与名为 "data.db "的 SQLite 数据库的连接。如果指定的数据库不存在,则会自动创建。通过该连接,可以与 SQLite 数据库进行后续交互,如执行查询和数据操作等。

第 5 步:创建表格

下一步是在数据库中创建一个数据库表,我们将从 Excel 文件中导入数据。要在 SQLite 数据库中创建表格,可以使用连接对象执行 SQL 语句。

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

上述代码片段初始化了一个游标对象,用于在 SQLite 数据库连接中执行 SQL 命令。它创建了一个名为 "customer "的表,其中包含 "id"、"FirstName"、"LastName"、"Gender"、"Country "和 "Age "列。如果表还不存在,则将按照指定的列数据类型创建该表。

第 6 步:使用 Python 将数据导入数据库

现在,我们将向新创建的表中插入数据。我们将导入 Excel 文件,并将其数据插入 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

上述代码遍历 Excel 工作表中的第 2 行至第 10 行,从 A 列至 F 列提取每一行的值。这些值存储在一个元组中,代表要插入到 "客户 "表中的数据。然后,游标执行 SQL INSERT 命令,将数值元组纳入表中。每一行都重复这一过程,从而有效地将数据从 Excel 文件导入 SQLite 数据库。最后,conn.commit() 提交事务,确保在数据库中保存和持久化更改。

第 7 步:从数据库读取数据

要验证数据是否正确插入,可以使用 SELECT 查询从 SQLite 数据库中的 "客户 "表读取数据。例如

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

上述代码对 SQLite 数据库中的 "customer "表执行 SELECT 查询,获取所有记录。获取的记录使用 fetchall 保存在 "rows "变量中。() 方法。然后,重复打印每一行,显示插入到 "客户 "表中的数据。最后,使用 close() 方法来释放资源。

如何使用 python 将 Excel 文件导入数据库表:图 2 - 从数据库输出读取

完整代码如下

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

结论

总之,本教程展示了一种自动化方法,以 读取数据 释放其在数据管理方面的全部潜能。利用 Python 和 IronXL 的强大功能,优化您的数据处理工作流程,满怀信心地推进您的项目。

< 前一页
如何在Excel文件中使用Python插入行
下一步 >
如何在Python中编辑Excel文件

准备开始了吗? 版本: 2024.9 刚刚发布

免费下载pip 查看许可证 >